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