[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <d1c2719f0804281344h4b8c98b9w6d7d4d2cbcdee857@mail.gmail.com>
Date: Mon, 28 Apr 2008 13:44:06 -0700
From: "Jerry Chu" <hkchu@...gle.com>
To: "John Heffner" <johnwheffner@...il.com>
Cc: "David Miller" <davem@...emloft.net>, netdev@...r.kernel.org,
rick.jones2@...com
Subject: Re: Socket buffer sizes with autotuning
On Mon, Apr 28, 2008 at 12:21 PM, John Heffner <johnwheffner@...il.com> wrote:
>
> On Mon, Apr 28, 2008 at 11:30 AM, Jerry Chu <hkchu@...gle.com> wrote:
> > Correct, but its counterpart doesn't exist in tcp_is_cwnd_limited(). So
> > cwnd will continue to grow when left < cwnd/sysctl_tcp_tso_win_divisor,
> > which can be very large when cwnd is large.
> >
> > If I change tcp_tso_win_divisor to 0, cwnd max out at 695 rather than 1037,
> > exactly off by 1/3. I tried to add the same check to tcp_is_cwnd_limited():
> >
> > diff -c /tmp/tcp.h.old tcp.h
> > *** /tmp/tcp.h.old Mon Apr 28 11:00:44 2008
> > --- tcp.h Mon Apr 28 10:54:10 2008
> > ***************
> > *** 828,833 ****
> > --- 828,835 ----
> > return 0;
> >
> > left = tp->snd_cwnd - in_flight;
> > + if (left >= 65536)
> > + return 0;
> > if (sysctl_tcp_tso_win_divisor)
> > return left * sysctl_tcp_tso_win_divisor < tp->snd_cwnd;
> > else
> >
> > >
> >
> > But it doesn't seem to help (cwnd still grows to 1037).
>
> Cwnd is in packets, not bytes.
Yes, of course.
>
> Try this series of patches, against net-next.
Ah, you already know about this problem. Yes it does the trick.
Jerry
>
> -John
>
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists