Review needed: Mbuf double-free detection patch
Bosko Milekic
bmilekic at unixdaemons.com
Thu May 1 12:17:37 PDT 2003
On Thu, May 01, 2003 at 11:36:39AM -0700, Luigi Rizzo wrote:
> On Thu, May 01, 2003 at 01:06:38PM -0400, Bosko Milekic wrote:
> ...
> > The reason it's done that way has to do with a bigger optimization
> > than just the avoidance of the extra function call: the cache lock is
> > held, as most as possible, across repeated calls to mb_free(). In
> > order to implement this "as most as possible," to allow for virtually
> > atomic frees in some cases, it was ripped out and done that way... if
> > you can figure out a cleaner way, that would be cool, though.
>
> but according to the comment (and the code) that optimization
> is not there yet because of issues in some of the functions
> called in the body. Given that you have clearly documented what the
> plan is and what the issues are, i would suggest to revert m_freem()
> to use m_free() until those issues are solved. In addition to
> reducing the code size, this would also reduce the risk that the
> two pieces of code diverge by mistake.
Well, I was going to actually complete the optimization for the
cluster case (because cluster ref counts are no longer malloc'd), but
now that there's a call to m_tag_destroy in the body, I don't know if
it's possible at all. So what you're proposing makes sense.
> cheers
> luigi
>
> > --
> > Bosko Milekic
> > bmilekic at unixdaemons.com
> > bmilekic at FreeBSD.org
--
Bosko Milekic
bmilekic at unixdaemons.com
bmilekic at FreeBSD.org
More information about the freebsd-net
mailing list