On Tue, 15 May 2007, Peter Zijlstra wrote:

> How about something like this; it seems to sustain a little stress.

Argh again mods to kmem_cache.

Could we do this with a new slab page flag? F.e. SlabEmergPool.


in alloc_slab() do

if (is_emergency_pool_page(page)) {
        SetSlabDebug(page);
        SetSlabEmerg(page);
}

So now you can intercept allocs to the SlabEmerg slab in __slab_alloc 

debug:

if (SlabEmergPool(page)) {
        if (mem_no_longer_critical()) {
                /* Avoid future trapping */
                ClearSlabDebug(page);
                ClearSlabEmergPool(page);
        } else
        if (process_not_allowed_this_memory()) {
                do_something_bad_to_the_caller();
        } else {
                /* Allocation permitted */
        }
}

....

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to