Eric Dumazet 6f458dfb40 tcp: improve latencies of timer triggered events
Modern TCP stack highly depends on tcp_write_timer() having a small
latency, but current implementation doesn't exactly meet the
expectations.

When a timer fires but finds the socket is owned by the user, it rearms
itself for an additional delay hoping next run will be more
successful.

tcp_write_timer() for example uses a 50ms delay for next try, and it
defeats many attempts to get predictable TCP behavior in term of
latencies.

Use the recently introduced tcp_release_cb(), so that the user owning
the socket will call various handlers right before socket release.

This will permit us to post a followup patch to address the
tcp_tso_should_defer() syndrome (some deferred packets have to wait
RTO timer to be transmitted, while cwnd should allow us to send them
sooner)

Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Tom Herbert <therbert@google.com>
Cc: Yuchung Cheng <ycheng@google.com>
Cc: Neal Cardwell <ncardwell@google.com>
Cc: Nandita Dukkipati <nanditad@google.com>
Cc: H.K. Jerry Chu <hkchu@google.com>
Cc: John Heffner <johnwheffner@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2012-07-20 10:59:41 -07:00
..
2012-06-04 11:45:11 -04:00
2012-07-17 10:48:26 -07:00
2012-07-10 22:36:17 +02:00
2012-07-19 10:48:00 -07:00
2012-07-19 10:55:36 -07:00
2012-07-19 10:48:00 -07:00
2012-07-16 23:23:52 -07:00
2012-06-15 15:30:15 -07:00
2012-04-15 12:44:40 -04:00
2012-05-17 18:45:20 -04:00
2012-06-27 15:42:24 -07:00
2012-07-18 11:28:46 -07:00
2012-07-16 22:31:34 -07:00