Re: [rfc/patch] mm/slub: restore/expand unfreeze_partials() local exclusion scope

From: Vlastimil Babka
Date: Sun Jul 25 2021 - 10:17:21 EST


On 7/25/21 4:09 PM, Mike Galbraith wrote:
> On Sat, 2021-07-24 at 00:39 +0200, Vlastimil Babka wrote:
>>
>> If not, then I would expect this to work (I don't think they ever nest
>> in the opposite order, also lockdep should tell us instead of
>> -ENOBOOT?), but might be missing something...
>
> Yeah, like #ifndef CONFIG_PREMPT_RT at the bottom of the loop that our
> useless damn eyeballs auto-correct instead of reporting :)

Well doh, good catch. Hope fixing that helps then?
I've so far convinced myself that the full patch will be needed - in my
theory the ->partial cmpxchg in put_cpu_partial() itself can race with
assignment in ___slab_alloc() in a way that will not cause crashes, but
will leak slab pages.

> -Mike
>