9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
* [9fans] having the Nagle cake and eating it too
@ 2001-11-26 19:29 Mike Haertel
  2001-11-27 10:18 ` Thomas Bushnell, BSG
  0 siblings, 1 reply; 3+ messages in thread
From: Mike Haertel @ 2001-11-26 19:29 UTC (permalink / raw)
  To: 9fans

The problem with Nagle seems to be that it clobbers performance
of RPC applications.  The communications pattern of such an
application is almost always:

	write(...request...);
	read(...response...);

(for clients) or

	write(...response...)
	read(...request...)

for servers.

Why not have read() force any outstanding writes to the network?
That way you could do the right thing even with programs whose
authors are too naive to know about turning off Nagle.


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

* Re: [9fans] having the Nagle cake and eating it too
  2001-11-26 19:29 [9fans] having the Nagle cake and eating it too Mike Haertel
@ 2001-11-27 10:18 ` Thomas Bushnell, BSG
  0 siblings, 0 replies; 3+ messages in thread
From: Thomas Bushnell, BSG @ 2001-11-27 10:18 UTC (permalink / raw)
  To: 9fans

mike@ducky.net (Mike Haertel) writes:

> Why not have read() force any outstanding writes to the network?
> That way you could do the right thing even with programs whose
> authors are too naive to know about turning off Nagle.

That works fine for RPC programs, but it kill the Nagle algorithm for
programs that have continuous reads going on.


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

* Re: [9fans] having the Nagle cake and eating it too
@ 2001-11-26 19:40 presotto
  0 siblings, 0 replies; 3+ messages in thread
From: presotto @ 2001-11-26 19:40 UTC (permalink / raw)
  To: 9fans

[-- Attachment #1: Type: text/plain, Size: 541 bytes --]

Tried that.  Things like telnet constantly read.  It works
sometimes, not others, ...

I tried various ways to ``guess'' what the app was doing and
either apply Nagle or not.  I could get it to work pretty
regularly with 9P but it would break with other things.

I finally gave up and took it out since at least once a month
it would brak something.  I tried it as an option for a while
but the only thing anyone wanted it for was telnet and we just
don't do that anymore, ssh has replaced it and our window system
line buffers.

[-- Attachment #2: Type: message/rfc822, Size: 1702 bytes --]

From: Mike Haertel <mike@ducky.net>
To: 9fans@cse.psu.edu
Subject: [9fans] having the Nagle cake and eating it too
Date: Mon, 26 Nov 2001 11:29:08 -0800 (PST)
Message-ID: <200111261929.fAQJT8f01844@ducky.net>

The problem with Nagle seems to be that it clobbers performance
of RPC applications.  The communications pattern of such an
application is almost always:

	write(...request...);
	read(...response...);

(for clients) or

	write(...response...)
	read(...request...)

for servers.

Why not have read() force any outstanding writes to the network?
That way you could do the right thing even with programs whose
authors are too naive to know about turning off Nagle.

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

end of thread, other threads:[~2001-11-27 10:18 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-11-26 19:29 [9fans] having the Nagle cake and eating it too Mike Haertel
2001-11-27 10:18 ` Thomas Bushnell, BSG
2001-11-26 19:40 presotto

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).