Re: [PATCH v3 0/3] mm: kmemleak: Use a memory pool for kmemleak object allocations

From: Andrew Morton
Date: Mon Aug 12 2019 - 17:07:33 EST


On Mon, 12 Aug 2019 17:06:39 +0100 Catalin Marinas <catalin.marinas@xxxxxxx> wrote:

> Following the discussions on v2 of this patch(set) [1], this series
> takes slightly different approach:
>
> - it implements its own simple memory pool that does not rely on the
> slab allocator
>
> - drops the early log buffer logic entirely since it can now allocate
> metadata from the memory pool directly before kmemleak is fully
> initialised
>
> - CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE option is renamed to
> CONFIG_DEBUG_KMEMLEAK_MEM_POOL_SIZE
>
> - moves the kmemleak_init() call earlier (mm_init())
>
> - to avoid a separate memory pool for struct scan_area, it makes the
> tool robust when such allocations fail as scan areas are rather an
> optimisation
>
> [1] http://lkml.kernel.org/r/20190727132334.9184-1-catalin.marinas@xxxxxxx

Using the term "memory pool" is a little unfortunate, but better than
using "mempool"!

The changelog doesn't answer the very first question: why not use
mempools. Please send along a paragraph which explains this decision.