From: Yair Gottdenker <yairgott@gmail.com>
To: "Ilpo Järvinen" <ilpo.jarvinen@helsinki.fi>, netdev@vger.kernel.org
Subject: Re: Increasing TCP initial cwnd
Date: Mon, 26 Oct 2009 17:07:45 +0200 [thread overview]
Message-ID: <fa3cddca0910260807q714a24fdp1ffae601bb6f67ba@mail.gmail.com> (raw)
In-Reply-To: <alpine.DEB.2.00.0910261629040.19761@wel-95.cs.helsinki.fi>
Thanks,
I already had a look in it. Their changes that are related to changing
the initial cwnd (snd_cwnd) are in several places in the patch:
1. tcp_ipv4.c in function tcp_init_cwnd. since currently I am working
with no metric this is irrelevant.
2. tcp_ipv4.c: in function tcp_v4_init_sock, which I applied
3. tcp_minisocks.c - which I applied
. They patched kernel 2.6.18.8 which is very old and there were a lot
of changes since that in the kernel tcp layer. I didn't test their
patch but applying the same logic to 2.6.31.3 doesn't seems to change
initial window size.
It is clear that in order to correctly make the change to the initial
cwnd, one should apply changes to many more scenarios like setting the
initial cwnd after idle time and more. I want to proceed step by step,
first the naive changes to make it work.
On Mon, Oct 26, 2009 at 4:38 PM, Ilpo Järvinen
<ilpo.jarvinen@helsinki.fi> wrote:
> On Mon, 26 Oct 2009, Yair Gottdenker wrote:
>
>> Thanks for the response.
>> I disabled metric by: net.ipv4.tcp_no_metrics_save = 1 in sysctl.conf.
>> But just after the call to tcp_init_metrics in tcp_input.c there is
>> also a call to: tcp_init_congestion_control which calls the congestion
>> control algorithm that is in used. I created my own and in the init
>> function I set the snd_cwnd to 10 and still there is no change and
>> only 4 segments are initially sent.
>> You are right tcp_slow_start has nothing to do with the cwnd size, I
>> mistakenly thought that the initial flow enters that function.
>
> Hopefully you don't mess up anything in there.
>
> Please see from http://www.cs.helsinki.fi/research/iwtcp/kernel-patch/
> I haven't had time/interest to bring it up to date but at least there's
> very clearly shown how the initial window can be configured through a
> sysctl (though don't try to patch it to late kernels, it would just be
> a never ending pain for you :-)).
>
>> What do you mean RW? do you mean tcp read/write buffer size?
>
> RW = Restart Window (RFC2681 IIRC, nowadays also in RFC 5681 I think).
> ...It is related to slow-start after idle.
>
> --
> i.
>
next prev parent reply other threads:[~2009-10-26 15:15 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-10-26 13:40 Increasing TCP initial cwnd Yair Gottdenker
2009-10-26 13:54 ` Ilpo Järvinen
2009-10-26 13:57 ` Ilpo Järvinen
[not found] ` <fa3cddca0910260728n61d8de61p9e58260c893d9f9f@mail.gmail.com>
[not found] ` <alpine.DEB.2.00.0910261629040.19761@wel-95.cs.helsinki.fi>
2009-10-26 15:07 ` Yair Gottdenker [this message]
2009-10-27 7:38 ` Ilpo Järvinen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=fa3cddca0910260807q714a24fdp1ffae601bb6f67ba@mail.gmail.com \
--to=yairgott@gmail.com \
--cc=ilpo.jarvinen@helsinki.fi \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox