From owner-freebsd-net Fri Jul 12 5: 9:30 2002 Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9742237B401 for ; Fri, 12 Jul 2002 05:09:26 -0700 (PDT) Received: from mailsrv.otenet.gr (mailsrv.otenet.gr [195.170.0.5]) by mx1.FreeBSD.org (Postfix) with ESMTP id B4F9D43E6A for ; Fri, 12 Jul 2002 05:09:10 -0700 (PDT) (envelope-from keramida@ceid.upatras.gr) Received: from hades.hell.gr (patr530-a107.otenet.gr [212.205.215.107]) by mailsrv.otenet.gr (8.12.4/8.12.4) with ESMTP id g6CC81Hw023621; Fri, 12 Jul 2002 15:08:02 +0300 (EEST) Received: from hades.hell.gr (hades [127.0.0.1]) by hades.hell.gr (8.12.5/8.12.5) with ESMTP id g6CC809J052613; Fri, 12 Jul 2002 15:08:00 +0300 (EEST) (envelope-from keramida@ceid.upatras.gr) Received: (from charon@localhost) by hades.hell.gr (8.12.5/8.12.5/Submit) id g6CC7xnp052612; Fri, 12 Jul 2002 15:07:59 +0300 (EEST) (envelope-from keramida@ceid.upatras.gr) Date: Fri, 12 Jul 2002 15:07:57 +0300 From: Giorgos Keramidas To: Bosko Milekic Cc: Luigi Rizzo , freebsd-net@FreeBSD.org Subject: Re: mbuf external buffer reference counters Message-ID: <20020712120757.GE51735@hades.hell.gr> References: <20020711162026.A18717@unixdaemons.com> <20020711133802.A31827@iguana.icir.org> <20020711164225.A18852@unixdaemons.com> <20020711135608.A32460@iguana.icir.org> <20020711171255.A19014@unixdaemons.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20020711171255.A19014@unixdaemons.com> X-Operating-System: FreeBSD 5.0-CURRENT i386 X-PGP-Fingerprint: C1EB 0653 DB8B A557 3829 00F9 D60F 941A 3186 03B6 X-Phone: +30-944-116520 Sender: owner-freebsd-net@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org On 2002-07-11 17:12 +0000, Bosko Milekic wrote: > On Thu, Jul 11, 2002 at 01:56:08PM -0700, Luigi Rizzo wrote: > > example: userland does an 8KB write, in the old case this requires > > 4 clusters, with the new one you end up using 4 clusters and stuff > > the remaining 16 bytes in a regular mbuf, then depending on the > > relative producer-consumer speed the next write will try to fill > > the mbuf and attach a new cluster, and so on... and when TCP hits > > these data-in-mbuf blocks will have to copy rather than reference > > the data blocks... > > This is a good observation if we're going to be doing benchmarking, > but I'm not sure whether the repercussions are that important (unless, > as I said, there's a lot of applications that send exactly 8192 > byte chunks?). This is not true only for 8192 byte-sized writes. Anything that uses a block size >2048 near a power of 2 will have the same problem. Writes that use 2048 bytes, 4096, 8192, 16384, ... will all have this very same problem :/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message