Re: [RFC 02/26] mm, slub: allocate private object map for validate_slab_cache()

From: Mel Gorman
Date: Tue May 25 2021 - 06:17:54 EST


On Tue, May 25, 2021 at 01:39:22AM +0200, Vlastimil Babka wrote:
> validate_slab_cache() is called either to handle a sysfs write, or from a
> self-test context. In both situations it's straightforward to preallocate a
> private object bitmap instead of grabbing the shared static one meant for
> critical sections, so let's do that.
>
> Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx>
>
> <SNIP>
>
> @@ -4685,10 +4685,17 @@ static long validate_slab_cache(struct kmem_cache *s)
> int node;
> unsigned long count = 0;
> struct kmem_cache_node *n;
> + unsigned long *obj_map;
> +
> + obj_map = bitmap_alloc(oo_objects(s->oo), GFP_KERNEL);
> + if (!obj_map)
> + return -ENOMEM;
>


Most callers of validate_slab_cache don't care about the return value
except when the validate sysfs file is written. Should a simply
informational message be displayed for -ENOMEM in case a writer to
validate fails and it's not obvious it was because of an allocation
failure?

It's a fairly minor concern so whether you add a message or not

Acked-by: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx>

--
Mel Gorman
SUSE Labs