Internalizing M_EXT refcounting and lwbufs
dillon at apollo.backplane.com
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.
<dillon at backplane.com>
More information about the Kernel