SLABs can be excepted from tracking?
Ok. Then the allocator manages the gfp flag. Then we need to make sure
to clear that flag at some point. The flag needs to be consistently set
or cleared for allocations for a certain slab cache.
So it breaks recursion. But this adds a new cache that is rarely
used. There will be only about 50-100 kmem_cache objects in the system. I
thought you could control the tracking on an per object level? Would not a
kmalloc with __GFP_NOTRACK work?
More reasons to drop cache_cache. cache_cache is not a kmalloc array
cache by the way since it does not support power of two allocs. Its a
regular kmem_cache element.
All slab memory allocations never cause page faults regardless from where
they are allocated. Only user space pages can be handled by page faults
and those are not allocated via the slab allocator.
No I am quite sure what tracking is since the slab allocators have their
own tracking.
But you may want to explain things better.
--