lkml.org 
[lkml]   [2004]   [Aug]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRE: tcp_push_pending_frames() without TCP_CORK or TCP_NODELAY
Date
I am after explicit flushing of a "normal" (e.g. nagle mode) stream.  The TCP_CORK
stuff is the opposite of what I am after as I am "only sometimes" in a position to
know that a flush will increase performance but I am often not in a position to know
that a CORK won't hurt it.

Right now I am performing the flush operation by calling setsockopt() twice, turning
NODELAY on and then back off.

Using the MSG_MORE will improve some of the small-frame preamble stuff, even with
nagle on (if I am understanding all of the ramifications). Does MSG_MORE work with
nagle off (NODELAY set)?

The original candidate patch is designed to flush a CORKed or normally Nagled (is
that a word?) socket in one call without losing the actual options. It does that by
saving the cork/nagle flag, doing the same flush stuff that turning off nagle does,
and then restoring the flag. It should be safely applicable to each of the three
modes (though kind of pointless for the NODELAY mode 8-).

Arguments for are:
-- The flush is one call.
-- The flush is "safe" to call from a library because it has no net-effect on the
persistent state of the socket. (This is a new argument in this message 8-)

Arguments against are:
-- Two calls are not significantly expensive.
-- Have to add the ioctl info to lots of places and the docs.


-----Original Message-----
From: Arjan van de Ven [mailto:arjanv@redhat.com]
Sent: Monday, August 02, 2004 12:54 PM
To: Robert White
Cc: 'David S. Miller'; linux-kernel@vger.kernel.org
Subject: Re: tcp_push_pending_frames() without TCP_CORK or TCP_NODELAY

On Mon, Aug 02, 2004 at 12:44:41PM -0700, Robert White wrote:
> Is there an argument _against_ providing an explicit flush?

well MSG_MORE is equivalent, it's an explicit non-flush...



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 14:04    [W:0.580 / U:0.024 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site