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