All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] tcp: Expose the initial RTO via a new sysctl.
@ 2011-05-17  7:40 Benoit Sigoure
  2011-05-17  7:40 ` Benoit Sigoure
  0 siblings, 1 reply; 53+ messages in thread
From: Benoit Sigoure @ 2011-05-17  7:40 UTC (permalink / raw)
  To: davem, kuznet, pekkas, jmorris, yoshfuji, kaber; +Cc: netdev, linux-kernel

Hi,
it's not easy to change the initial RTO of TCP as right now you need to
recompile your kernel.  In order to make it easier to tune this setting,
I was wondering whether you would consider turning it into a sysctl.  I
attached a first attempt at a patch that does this -- this is my first
patch to the Linux kernel so although I've read SubmitChecklist and
SubmittingPatches, and I've run checkpatch.pl, please let me know if I'm
doing something wrong.

I am doing this because I work in a high-throughput low-latency environment
(line-rate GbE with submillisecond RTT) and some of our clients are negatively
affected by the high initial RTO when the servers are unable to accept() new
connections fast enough.  While we're working on fixing these servers and/or
giving them larger backlog queues when they listen(), being able to tune
the initial RTO at runtime would be very useful as quick workaround for the
server-side issues.

Some large Internet websites are also running with a more aggressive initial
RTO, for instance Google documented some of what they're doing here:
  http://www.ietf.org/proceedings/75/slides/tcpm-1.pdf
While I'm not arguing to change the default value at this time, I believe
that this patch would also come in handy for those who wish to experiment
with various values in their environment.

If you're willing to consider this patch, bear in mind I only compiled it,
I didn't test it yet (not knowing whether you'd want something like that or
not).  I would also appreciate if anyone had any insight on what I did with
`COUNTER_TRIES' in `syncookies.c' as this magic constant is rather mysterious
and the comment didn't help me figure out how it had been derived.  I couldn't
find anything online and git blame didn't help me either (it pre-dates Git).


^ permalink raw reply	[flat|nested] 53+ messages in thread

end of thread, other threads:[~2011-05-31 15:43 UTC | newest]

Thread overview: 53+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-05-17  7:40 [PATCH] tcp: Expose the initial RTO via a new sysctl Benoit Sigoure
2011-05-17  7:40 ` Benoit Sigoure
2011-05-17  8:01   ` Alexander Zimmermann
2011-05-17  8:34     ` Eric Dumazet
2011-05-17  8:07   ` Eric Dumazet
2011-05-17 11:02     ` Hagen Paul Pfeifer
2011-05-17 11:02       ` Hagen Paul Pfeifer
2011-05-17 12:20       ` Eric Dumazet
2011-05-18 10:43     ` Benoit Sigoure
2011-05-18 19:26       ` David Miller
2011-05-18 19:40         ` tsuna
2011-05-18 19:52           ` David Miller
2011-05-18 20:20             ` Hagen Paul Pfeifer
2011-05-18 20:23               ` David Miller
2011-05-18 20:27                 ` Hagen Paul Pfeifer
2011-05-20 10:27               ` H.K. Jerry Chu
2011-05-20 11:00                 ` Hagen Paul Pfeifer
2011-05-20 11:00                   ` Hagen Paul Pfeifer
2011-05-20 12:37                   ` Alan Cox
2011-05-21  0:06                   ` H.K. Jerry Chu
2011-05-31 14:48                     ` tsuna
2011-05-31 15:25                       ` Hagen Paul Pfeifer
2011-05-31 15:25                         ` Hagen Paul Pfeifer
2011-05-31 15:28                         ` tsuna
2011-05-31 15:43                           ` Hagen Paul Pfeifer
2011-05-31 15:43                             ` Hagen Paul Pfeifer
2011-05-19  2:22             ` [PATCH] tcp: Implement a two-level initial RTO as per draft RFC 2988bis-02 Benoit Sigoure
2011-05-19  2:22               ` Benoit Sigoure
2011-05-19  2:36               ` David Miller
2011-05-19  3:56                 ` tsuna
2011-05-19  4:14                   ` David Miller
2011-05-19  4:33                     ` tsuna
2011-05-19  5:46                       ` David Miller
2011-05-19  6:36                         ` [PATCH] tcp: Lower the initial RTO to 1s " Benoit Sigoure
2011-05-19  6:36                           ` Benoit Sigoure
2011-05-19 17:42                           ` Yuchung Cheng
2011-05-19  6:47                         ` Benoit Sigoure
2011-05-19  6:47                           ` Benoit Sigoure
2011-05-19 20:16                           ` David Miller
2011-05-19  6:10                       ` [PATCH] tcp: Implement a two-level initial RTO " Alexander Zimmermann
2011-05-19  6:25                         ` tsuna
2011-05-19  6:36                           ` Alexander Zimmermann
2011-05-19  6:42                             ` tsuna
2011-05-19  6:52                               ` Alexander Zimmermann
2011-05-19  7:07                                 ` tsuna
2011-05-19  8:02                                 ` Hagen Paul Pfeifer
2011-05-19  8:02                                   ` Hagen Paul Pfeifer
2011-05-19 16:40                                   ` tsuna
2011-05-19 16:55                                     ` Alexander Zimmermann
2011-05-19 17:11                                       ` tsuna
2011-05-19 19:27                                         ` David Miller
2011-05-19 20:30                                           ` tsuna
2011-05-20  2:01           ` [PATCH] tcp: Expose the initial RTO via a new sysctl H.K. Jerry Chu

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.