Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 11 Jul 2002 22:27:25 -0400
From:      Bosko Milekic <bmilekic@unixdaemons.com>
To:        Julian Elischer <julian@elischer.org>
Cc:        Luigi Rizzo <rizzo@icir.org>, freebsd-net@FreeBSD.ORG
Subject:   Re: mbuf external buffer reference counters
Message-ID:  <20020711222725.A5284@unixdaemons.com>
In-Reply-To: <Pine.BSF.4.21.0207111606440.47612-100000@InterJet.elischer.org>; from julian@elischer.org on Thu, Jul 11, 2002 at 04:10:32PM -0700
References:  <20020711171255.A19014@unixdaemons.com> <Pine.BSF.4.21.0207111606440.47612-100000@InterJet.elischer.org>

next in thread | previous in thread | raw e-mail | index | archive | help

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.

Regards, 
-- 
Bosko Milekic
bmilekic@unixdaemons.com
bmilekic@FreeBSD.org


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-net" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020711222725.A5284>