Re: [RFC 02/26] mm, slub: allocate private object map for validate_slab_cache()
From: Mel Gorman <hidden>
Date: 2021-05-25 10:17:54
Also in:
lkml
From: Mel Gorman <hidden>
Date: 2021-05-25 10:17:54
Also in:
lkml
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 <redacted> <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 <redacted> -- Mel Gorman SUSE Labs