On 5/25/21 12:17 PM, Mel Gorman wrote: > 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? he other callers are all in the effectively dead resiliency_test() code, which has meanwhile been replaced in mmotm by kunit tests meanwhile. But it's true those don't check the results either for now. > It's a fairly minor concern so whether you add a message or not I think I'll rather fix up the tests. Or do you mean that -ENOMEM for a sysfs write is also not enough and there should be a dmesg explanation for that case? > Acked-by: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Thanks!