PERFORCE change 129544 for review
Robert Watson
rwatson at FreeBSD.org
Mon Nov 26 04:15:20 PST 2007
On Mon, 26 Nov 2007, Kip Macy wrote:
> http://perforce.freebsd.org/chv.cgi?CH=129544
>
> Change 129544 by kmacy at kmacy:storage:toestack on 2007/11/26 05:26:43
>
> disable merging of data into existing mbufs if
> new SB_TOE flag is set
One of the reasons we compact socket buffers with TCP and other stream
protocols is that if you're dealing with an application/protocol that spits
out data in small chunks (i.e., a series of printfs) and nagel is disabled,
you end up with a series of packets that make quite inefficient use of mbufs,
as the space wasted per chunk of data is significant. Not only that, we bill
for space in socket buffers based on the space held by the full mbuf, not just
the data in the mbuf when it comes to socket buffer resource limits, so you
can rapidly fill up socket buffer limits without compaction in this type of
scenario. I'm not sure which protocols this would affect, but I'd imagine
that RPC-like protocols supporting asynchronous operation (so that you get a
series of replies and responses in flight at once) might be relevant, such as
IMAP.
On an unrelated not, if we want a non-coalescing modes for socket bufferss, we
should probably also give it a name like "SB_NOCOALESCE" rather than something
TOE-specific.
Robert N M Watson
Computer Laboratory
University of Cambridge
More information about the p4-projects
mailing list