Re: [PATCH RFC] mm: slub: fix flush_cpu_slab()/__free_slab() invocations in task context.

From: Sebastian Andrzej Siewior
Date: Tue Aug 30 2022 - 14:59:39 EST


On 2022-08-30 17:48:06 [+0200], Maurizio Lombardi wrote:
> Hmm, this is not good indeed. I guess I should have used for_each_online_cpu()
> instead of on_each_cpu_cond().

But you must not invoked that function cross-CPU since the code expects
to access the per-CPU variables always from the local-CPU.

> >
> > Couldn't we instead use a workqueue with that WQ_MEM_RECLAIM bit? It may
> > reclaim memory after all ;)
>
> That should also fix it, do you think it would be ok to allocate a workqueue in
> in kmem_cache_init() ?

I guess so. There is probably none that is already available.

> Thanks,
> Maurizio

Sebastian