HEADSUP: UMA not reentrant / possible memory leak
Bosko Milekic
bmilekic at technokratis.com
Tue Jul 29 19:14:54 PDT 2003
On Wed, Jul 30, 2003 at 01:23:21AM +0000, Tor.Egge at cvsup.no.freebsd.org wrote:
> > The indication of this is that the g_bio zone does not return to
> > zero USED as it should.
>
> It looks like z->uz_cachefree is slightly out of date (updated in
> zone_timout() every 20th second) and often too low (not taking the
> z->uz_full_bucket list into account).
>
> The enclosed patch recalculates the number of free elements on the
> buckets instead of using z->uz_cachefree.
>
> - Tor Egge
>
We took this into account when we did the comparison. We know that
uz_cachefree is only a snapshot count; but Poul-Henning`s patch
clearly illustrates a frequent fluctuation in the free zone value but
where the actual number of allocated g_bio zone elements stays stable
at 0, for example.
The fact that the problem is solved when buckets are disabled also is
indicative that there is a clear reentrancy problems somewhere.
There may also be some bucket leakage (although I have not yet
confirmed this) as well.
--
Bosko Milekic * bmilekic at technokratis.com * bmilekic at FreeBSD.org
TECHNOkRATIS Consulting Services * http://www.technokratis.com/
More information about the freebsd-current
mailing list