Date: Mon, 26 Nov 2007 11:55:49 +0000 (GMT) From: Robert Watson <rwatson@FreeBSD.org> To: Kip Macy <kmacy@FreeBSD.org> Cc: Perforce Change Reviews <perforce@freebsd.org> Subject: Re: PERFORCE change 129544 for review Message-ID: <20071126115044.J65286@fledge.watson.org> In-Reply-To: <200711260527.lAQ5RNSw090238@repoman.freebsd.org> References: <200711260527.lAQ5RNSw090238@repoman.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 26 Nov 2007, Kip Macy wrote: > http://perforce.freebsd.org/chv.cgi?CH=129544 > > Change 129544 by kmacy@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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20071126115044.J65286>