Date: Fri, 12 Jul 2002 07:38:42 -0400 From: Bosko Milekic <bmilekic@unixdaemons.com> To: Alfred Perlstein <bright@mu.org> Cc: Julian Elischer <julian@elischer.org>, Archie Cobbs <archie@dellroad.org>, Luigi Rizzo <rizzo@icir.org>, freebsd-net@FreeBSD.ORG Subject: Re: mbuf external buffer reference counters Message-ID: <20020712073842.A75547@unixdaemons.com> In-Reply-To: <20020712071041.GH97638@elvis.mu.org>; from bright@mu.org on Fri, Jul 12, 2002 at 12:10:41AM -0700 References: <20020712064104.GG97638@elvis.mu.org> <Pine.BSF.4.21.0207112343380.50154-100000@InterJet.elischer.org> <20020712071041.GH97638@elvis.mu.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Jul 12, 2002 at 12:10:41AM -0700, Alfred Perlstein wrote: > * Julian Elischer <julian@elischer.org> [020712 00:00] wrote: > > > > > > On Thu, 11 Jul 2002, Alfred Perlstein wrote: > > > > > > That's true, but could someone explain how one can safely and > > > effeciently manipulate such a structure in an SMP environment? > > > > what does NetBSD do for that? > > They don't! > > *** waves skull staff exasperatedly *** > > RORWLRLRLLRL Again, Alfred is right. :-) I can't think of a way to ensure that the owner of the other mbuf doesn't manipulate its two forward/backward pointers while we're manipulating ours. The only way that springs to mind is to have them protected by a mutex, but: 1) that would be very expensive and would bloat the mbuf structure a LOT; 2) we would probably run into lock order reversal problems. I see now what Alfred meant when he made his original comment. -- 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?20020712073842.A75547>