[lkml]   [1998]   [Jun]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: Thread implementations...
On Sat, 27 Jun 1998, Matti Aarnio wrote:
> On Fri, 26 Jun 1998, Linus Torvalds wrote:
> > We obviously have "nonagle" already, but there are actually two kinds of
> > "nonagle", and the normal nonagle that everybody already supports is
> > actually exactly the wrong kind of nonagle for this kind of thing.
> >
> > You really want three cases:
> ....
> > - "new" nonagle. This is actually a much more useful form of nonagle, I
> > wonder why nobody does it. It always coalesces into a full packet until
> > it times out.
> >
> > You can think of this as "nagle with a packet in flight constantly".
> >
> > The only thing with the new nagle is that you want some kind of software
> > interface for the final push. Obviously closing the socket would do it,
> > but you want to do a push even without closing the socket.
> setsockopt(fd, SOL_SOCKET, SO_NAGLEMODE, ...)
> and getsockopt() too..
> And applying fsync(2) for explicite outbound PUSH ?
> (or fdatasync(2) for that matter..)
> (The fsync(2) has everywhere been defined as disk-only
> operation, which has no functionality in e.g. sockets)

fsync() requires "synchronised I/O completion state" (Unix98), which
says nothing about disks explicitly. It would seem to imply that the
call would need to block until the data is ACKed by the peer.

I think the send() idea Alan and Linus tossed around is the cleanest
way to go, in combination with:

You crucify all honesty \\Adam D. Bradley
No signs you see do you believe \\Boston University Computer Science
And all your words just twist and turn\\ Grad Student and Linux Hacker
Reviving just to crash and burn \\ <><
---------> Why can't you listen as love screams everywhere? <--------

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to

 \ /
  Last update: 2005-03-22 13:43    [W:0.147 / U:4.960 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site