* Re: [Bugme-new] [Bug 9031] New: TPC window is to cautious on send
[not found] <bug-9031-10286@http.bugzilla.kernel.org/>
@ 2007-09-17 6:43 ` Andrew Morton
2007-09-17 17:03 ` Stephen Hemminger
0 siblings, 1 reply; 2+ messages in thread
From: Andrew Morton @ 2007-09-17 6:43 UTC (permalink / raw)
To: netdev; +Cc: bugme-daemon, a
On Sun, 16 Sep 2007 17:02:46 -0700 (PDT) bugme-daemon@bugzilla.kernel.org wrote:
> http://bugzilla.kernel.org/show_bug.cgi?id=9031
>
> Summary: TPC window is to cautious on send
> Product: Networking
> Version: 2.5
> KernelVersion: Any
> Platform: All
> OS/Version: Linux
> Tree: Mainline
> Status: NEW
> Severity: normal
> Priority: P1
> Component: IPV4
> AssignedTo: shemminger@osdl.org
> ReportedBy: a@oo.ms
>
>
> This has been a longstanding "bug" of sorts when talking to a system that has
> extremely small windows (under 1.5k).
>
> The only way to give the stack on the other side a nudge is to ACK twice.
>
> Here is a sample transcript, with a max window size of 1025 bytes.
>
> 18:25:43.968358 IP dr.ea.ms.http > 192.168.80.2.40246: . 37377:37633(256) ack
> 120 win 5840
> 18:25:43.992402 IP 192.168.80.2.40246 > dr.ea.ms.http: . ack 37121 win 769 <mss
> 256>
> 18:25:44.390305 IP 192.168.80.2.40246 > dr.ea.ms.http: . ack 37121 win 1025
> <mss 256>
> 18:25:44.823084 IP dr.ea.ms.http > 192.168.80.2.40246: . 37633:37889(256) ack
> 120 win 5840
>
> If I take the "nudge" code out of my IP stack, it sits for an aweful long time,
> waiting on the next packet, when there clearly is room for a few more.
>
> Should I:
> 1: Have my IP stack lie about the window till it is important?
> 2: Something else?
>
> I can't see any good reason for the large delay, since it is on a serial link,
> via SLIP.
>
> I can point you to source code that will allow you to verify the problem for
> yourself, if you would like.
>
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [Bugme-new] [Bug 9031] New: TPC window is to cautious on send
2007-09-17 6:43 ` [Bugme-new] [Bug 9031] New: TPC window is to cautious on send Andrew Morton
@ 2007-09-17 17:03 ` Stephen Hemminger
0 siblings, 0 replies; 2+ messages in thread
From: Stephen Hemminger @ 2007-09-17 17:03 UTC (permalink / raw)
To: Andrew Morton; +Cc: netdev, bugme-daemon, a
On Sun, 16 Sep 2007 23:43:40 -0700
Andrew Morton <akpm@linux-foundation.org> wrote:
> On Sun, 16 Sep 2007 17:02:46 -0700 (PDT) bugme-daemon@bugzilla.kernel.org wrote:
>
> > http://bugzilla.kernel.org/show_bug.cgi?id=9031
> >
> > Summary: TPC window is to cautious on send
> > Product: Networking
> > Version: 2.5
> > KernelVersion: Any
> > Platform: All
> > OS/Version: Linux
> > Tree: Mainline
> > Status: NEW
> > Severity: normal
> > Priority: P1
> > Component: IPV4
> > AssignedTo: shemminger@osdl.org
> > ReportedBy: a@oo.ms
> >
> >
> > This has been a longstanding "bug" of sorts when talking to a system that has
> > extremely small windows (under 1.5k).
> >
> > The only way to give the stack on the other side a nudge is to ACK twice.
> >
> > Here is a sample transcript, with a max window size of 1025 bytes.
> >
> > 18:25:43.968358 IP dr.ea.ms.http > 192.168.80.2.40246: . 37377:37633(256) ack
> > 120 win 5840
> > 18:25:43.992402 IP 192.168.80.2.40246 > dr.ea.ms.http: . ack 37121 win 769 <mss
> > 256>
> > 18:25:44.390305 IP 192.168.80.2.40246 > dr.ea.ms.http: . ack 37121 win 1025
> > <mss 256>
> > 18:25:44.823084 IP dr.ea.ms.http > 192.168.80.2.40246: . 37633:37889(256) ack
> > 120 win 5840
> >
> > If I take the "nudge" code out of my IP stack, it sits for an aweful long time,
> > waiting on the next packet, when there clearly is room for a few more.
> >
> > Should I:
> > 1: Have my IP stack lie about the window till it is important?
> > 2: Something else?
> >
> > I can't see any good reason for the large delay, since it is on a serial link,
> > via SLIP.
> >
> > I can point you to source code that will allow you to verify the problem for
> > yourself, if you would like.
> >
See my comment, on bug report, Linux is doing Silly Window Syndrome avoidance (RFC 813)
as required in host requirements RFC1122
4.2.3.4 When to Send Data
A TCP MUST include a SWS avoidance algorithm in the sender.
A TCP SHOULD implement the Nagle Algorithm [TCP:9] to
coalesce short segments. However, there MUST be a way for
an application to disable the Nagle algorithm on an
individual connection. In all cases, sending data is also
subject to the limitation imposed by the Slow Start
algorithm (Section 4.2.2.15).
The Linux mechanism to disable Nagle is setsockopt(TCP_NODELAY).
--
Stephen Hemminger <shemminger@linux-foundation.org>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2007-09-17 17:04 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <bug-9031-10286@http.bugzilla.kernel.org/>
2007-09-17 6:43 ` [Bugme-new] [Bug 9031] New: TPC window is to cautious on send Andrew Morton
2007-09-17 17:03 ` Stephen Hemminger
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).