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.
thanks,
-Alfred
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-net" in the body of the message
- Abusing m_ext for a worthy goal. Alfred Perlstein
- Re: Abusing m_ext for a worthy goal. Bosko Milekic
- Re: Abusing m_ext for a worthy goal. Bosko Milekic
- Re: Abusing m_ext for a worthy goal. Alfred Perlstein
- Re: Abusing m_ext for a worthy goal. Bosko Milekic
- Re: Abusing m_ext for a worthy goal... Alfred Perlstein
- Re: MEXT_IS_REF broken. Alfred Perlstein
- Re: MEXT_IS_REF broken. Alfred Perlstein
- Re: MEXT_IS_REF broken. Jason Evans
- Re: MEXT_IS_REF broken. John Baldwin
- Re: MEXT_IS_REF broken. Alfred Perlstein
- Re: MEXT_IS_REF broken. Jason Evans
- Re: MEXT_IS_REF broken. Alfred Perlstein
- Re: MEXT_IS_REF broken. Jason Evans
- Re: MEXT_IS_REF broken. Bosko Milekic
- Re: MEXT_IS_REF broken. Jason Evans
- Re: MEXT_IS_REF broken. Garrett Wollman
