lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <AE90C24D6B3A694183C094C60CF0A2F6026B746C@saturn3.aculab.com>
Date:	Fri, 6 Dec 2013 16:30:41 -0000
From:	"David Laight" <David.Laight@...LAB.COM>
To:	"Rick Jones" <rick.jones2@...com>,
	"Eric Dumazet" <eric.dumazet@...il.com>,
	"David Miller" <davem@...emloft.net>
Cc:	"netdev" <netdev@...r.kernel.org>
Subject: RE: [PATCH net-next] tcp: auto corking

> From: Rick Jones
> On 12/06/2013 02:30 AM, David Laight wrote:
> >> From: Eric Dumazet <edumazet@...gle.com>
> >>
> >> With the introduction of TCP Small Queues, TSO auto sizing, and TCP
> >> pacing, we can implement Automatic Corking in the kernel, to help
> >> applications doing small write()/sendmsg() to TCP sockets.
> >
> > Presumably this has the greatest effect on connections with Nagle
> > disabled?
> 
> I was wondering why Nagle didn't catch these things as well.  The
> netperf command line Eric provided though didn't include the
> test-specific -D option that would have disabled Nagle.  At least not
> unless the "super_netperf" wrapper was adding it.
> 
> So, why doesn't Nagle catch what is presumably a sub-MSS send while
> there is data outstanding on the connection?

Nagle should block sends after 2 short sends (waiting for mss or ack).
Trouble is Nagle is only any use for single-directional traffic
and command-response where both messages are smaller than the mss.
For everything else Nagle is a right PITA.

Of course, if you disable Nagle slow start and delayed acks conspire
together to seriously reduce throughput on zero-delay local links.
(Try sending 50 bytes every millisecond with no return traffic.
Slow start only allows 4 packets be sent (not 4 MSS) even when an
mss of data is buffered, but that isn't enough to force an ack out
before the timer expires.)

	David

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ