On 13/08/06, Michal Piotrowski <michal.k.k.piotrowski@xxxxxxxxx> wrote:
> It's kmemleak 0.9 issue. I have tested kmemleak 0.8 on 2.6.18-rc1and
> 2.6.18-rc2. I haven't seen this before.
it looks like it was caused by commit
fc818301a8a39fedd7f0a71f878f29130c72193d where free_block() now calls
slab_destroy() with l3->list_lock held.
The prio_tree use (which doesn't alloc memory) instead of the
radix_tree is about 4 times slower when scanning the memory and I
don't think I'll use it.
It leaves me with the options of either implementing my own memory
allocator based on pages (including a simple hash table instead of
radix tree) or fix the locking in kmemleak so that memory allocations
happen without memleak_lock held. The latter is a bit complicated as
well since any slab allocation causes a re-entrance into kmemleak.
Any other suggestions?