From owner-p4-projects@FreeBSD.ORG Mon Nov 26 12:15:19 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A6B6716A419; Mon, 26 Nov 2007 12:15:19 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DB06216A418 for ; Mon, 26 Nov 2007 12:15:18 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from cyrus.watson.org (cyrus.watson.org [209.31.154.42]) by mx1.freebsd.org (Postfix) with ESMTP id B534413C45B for ; Mon, 26 Nov 2007 12:15:18 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from fledge.watson.org (fledge.watson.org [209.31.154.41]) by cyrus.watson.org (Postfix) with ESMTP id 1E21546C4B; Mon, 26 Nov 2007 06:59:30 -0500 (EST) Date: Mon, 26 Nov 2007 11:55:49 +0000 (GMT) From: Robert Watson X-X-Sender: robert@fledge.watson.org To: Kip Macy In-Reply-To: <200711260527.lAQ5RNSw090238@repoman.freebsd.org> Message-ID: <20071126115044.J65286@fledge.watson.org> References: <200711260527.lAQ5RNSw090238@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: Perforce Change Reviews Subject: Re: PERFORCE change 129544 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Nov 2007 12:15:20 -0000 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