Internalizing M_EXT refcounting and lwbufs

Matthew Dillon dillon at
Tue Dec 7 08:26:11 PST 2010

:I have had a patch kicking around for a while that I finally decided
:to beat into committable form, that brings the reference count into
:the m_ext structure. Currently there are very few users of M_EXT so I
:just modified them all to manage the refcount manually with atomic
:ops. Would we prefer this were functionalized, like FreeBSD has done?
:Also, It would be great if we could stuff a lwbuf into m_ext, but the
:only reasonable way I can see to do that is to add an additional
:function pointer which would be used to get the stable reference, as
:well as probably an offset, calling conventions would be slightly
:different for free in this case, and that route just doesn't feel very
:clean...  So I was wondering if anyone had any suggestions?

    Wait, embedded into m_ext?  The ref count, or the m_ext structure,
    would have to be made a pointer so multiple mbufs can reference
    the same m_ext.

					Matthew Dillon 
					<dillon at>

More information about the Kernel mailing list