Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 12 Dec 2000 12:11:03 -0800 (PST)
From:      John Baldwin <jhb@FreeBSD.org>
To:        Alfred Perlstein <bright@wintelcom.net>
Cc:        Bosko Milekic <bmilekic@technokratis.com>, net@FreeBSD.org, jasone@FreeBSD.org
Subject:   Re: MEXT_IS_REF broken.
Message-ID:  <XFMail.001212121103.jhb@FreeBSD.org>
In-Reply-To: <20001212114810.H16205@fw.wintelcom.net>

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

On 12-Dec-00 Alfred Perlstein wrote:
> * John Baldwin <jhb@FreeBSD.org> [001212 08:39] wrote:
>> 
>> On 12-Dec-00 Alfred Perlstein wrote:
>> > grr...
>> > 
>> > considering this:
>> > 
>> >#define MEXT_IS_REF(m) ((m)->m_ext.ref_cnt->refcnt > 1)
>> > 
>> >#define MEXT_REM_REF(m) do {                        \
>> >     KASSERT((m)->m_ext.ref_cnt->refcnt > 0, ("m_ext refcnt < 0"));  \
>> >     atomic_subtract_long(&((m)->m_ext.ref_cnt->refcnt), 1);     \
>> > } while(0)
>> > 
>> > this:
>> > 
>> >#define MEXTFREE(m) do {                        \
>> >     struct mbuf *_mmm = (m);                    \
>> >                                     \
>> >     if (MEXT_IS_REF(_mmm))                      \
>> >         MEXT_REM_REF(_mmm);                 \
>> > 
>> >  
>> > is not mpsafe.  we _NEED_ some type that allows atomic dec and test
>> > for 0.
>> 
>> http://www.FreeBSD.org/~jhb/patches/refcount.patch
> 
> You do have a commit bit if I'm not mistaken. :)

I would like some feedback on it. :)  I guess I should really send it off to
-arch for a bikeshed slugfest.

-- 

John Baldwin <jhb@FreeBSD.org> -- http://www.FreeBSD.org/~jhb/
PGP Key: http://www.baldwin.cx/~john/pgpkey.asc
"Power Users Use the Power to Serve!"  -  http://www.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?XFMail.001212121103.jhb>