DragonFly BSD
DragonFly kernel List (threaded) for 2010-12
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: Internalizing M_EXT refcounting and lwbufs


From: "Samuel J. Greear" <sjg@xxxxxxxxxxxx>
Date: Tue, 7 Dec 2010 09:57:11 -0700

On Tue, Dec 7, 2010 at 9:23 AM, Matthew Dillon
<dillon@apollo.backplane.com> wrote:
>
> :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?
> :
> :Thanks,
> :Sam
>
>    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.
>
>                                        -Matt
>                                        Matthew Dillon
>                                        <dillon@backplane.com>
>

Yeah, a kmalloc(9)'d int pointed to by the m_ext structure, versus
external as now -- sorry if I was unclear.

Sam




[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]