DragonFly kernel List (threaded) for 2010-12
Re: Internalizing M_EXT refcounting and lwbufs
On Tue, Dec 7, 2010 at 9:23 AM, Matthew Dillon
> :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
Yeah, a kmalloc(9)'d int pointed to by the m_ext structure, versus
external as now -- sorry if I was unclear.