From owner-freebsd-net Thu Jul 11 21:34:53 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 23AFB37B400 for ; Thu, 11 Jul 2002 21:34:52 -0700 (PDT) Received: from elvis.mu.org (elvis.mu.org [192.203.228.196]) by mx1.FreeBSD.org (Postfix) with ESMTP id D6D4343E3B for ; Thu, 11 Jul 2002 21:34:51 -0700 (PDT) (envelope-from bright@elvis.mu.org) Received: by elvis.mu.org (Postfix, from userid 1192) id A2E55AE211; Thu, 11 Jul 2002 21:34:51 -0700 (PDT) Date: Thu, 11 Jul 2002 21:34:51 -0700 From: Alfred Perlstein To: Bosko Milekic Cc: Julian Elischer , Luigi Rizzo , freebsd-net@FreeBSD.ORG Subject: Re: mbuf external buffer reference counters Message-ID: <20020712043451.GE97638@elvis.mu.org> References: <20020711171255.A19014@unixdaemons.com> <20020711222725.A5284@unixdaemons.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20020711222725.A5284@unixdaemons.com> User-Agent: Mutt/1.3.27i 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 * Bosko Milekic [020711 19:28] wrote: > > On Thu, Jul 11, 2002 at 04:10:32PM -0700, Julian Elischer wrote: > > Don't forget that "external" does not neccesarily mean "cluster". > > I still consider the method used in (hmm was it NetBSD or OSF/1?) > > to be very good.. > > > > mbufs that referred to the same object were linked together. > > I forget the details exactly. maybe someone else can remember.. > > it did it without ref counts somehow.. > > Yes, this is in NetBSD still and it is very elegant. I remember > looking at this a long time ago but to be honest, the reason I didn't > implement it then first escaped me. However, thanks to David Malone's > awesome commit messages, I found it: > > rev 1.53 of sys/sys/mbuf.h, extract: > [...] > "NetBSD's system of linked lists of mbufs was cosidered, but Alfred > felt it would have locking issues when the kernel was made more > SMP friendly." > [...] > > I think it's almost clear now that there are, in fact, no SMP issues > with it (we don't do per-cluster locking, or anything ridiculous like > that), so unless Alfred has the reason again, I'll consider that method > again instead. Thanks for the constructive feedback. Yes it was NetBSD that did this. How do you plan on manipulating a linked list without switching from a simple atomic_int/dec to a complex global or hashed mutex operation? -- -Alfred Perlstein [alfred@freebsd.org] 'Instead of asking why a piece of software is using "1970s technology," start asking why software is ignoring 30 years of accumulated wisdom.' Tax deductible donations for FreeBSD: http://www.freebsdfoundation.org/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message