Skip site navigation (1)Skip section navigation (2)
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>