Cc: Linux Kernel Mailing List <linux-kernel@...>, Ingo Molnar <mingo@...>, Pekka Enberg <penberg@...>, Andi Kleen <andi@...>, Richard Knutsson <ricknu-0@...>
Hello,
Thank you for taking the time to look at this patch!
On Feb 7, 2008 10:53 PM, Christoph Lameter <clameter@sgi.com> wrote:
New exception? Please explain.
I don't understand. This is the point, __GFP_NOTRACK _can_ be passed
to slab functions like kmalloc. By default, when kmemcheck is enabled
in the config, all other allocations will be tracked implicitly. The
notrack flag exists to exempt certain (critical) allocations from this
feature.
Sorry, a left-over from earlier changes :-)
The cache_cache is needed so that we have somewhere to allocate
kmem_cache objects from. These objects are accessed from kmemcheck in
the page fault handler. If the caches are allocated from tracked
memory, we get a recursive page fault, which is not nice, to say the
least :-)
No. Exactly one kmalloc_cache is created with the NOTRACK flag set,
namely the cache_cache.
No. This is dma_kmalloc_cache(). No DMA memory should ever be tracked
by kmemcheck, because DMA doesn't cause page faults. (So in fact,
tracking DMA is by definition not possible.)
Are you sure you are not confusing tracking with tracing? It's only
one letter different in spelling, but makes a huge difference in
meaning :-)
Kind regards,
Vegard Nossum
--