Re: [PATCH v3 00/35] SLUB: reduce irq disabled scope and make it RT compatible

From: Vlastimil Babka
Date: Thu Jul 29 2021 - 11:47:23 EST


On 7/29/21 3:20 PM, Vlastimil Babka wrote:
> Changes since v2 [5]:
> * Rebase to 5.14-rc3
> * A number of fixes to the RT parts, big thanks to Mike Galbraith for testing
> and debugging!
> * The largest fix is to protect kmem_cache_cpu->partial by local_lock instead
> of cmpxchg tricks, which are insufficient on RT. To avoid divergence
> between RT and !RT, just do it everywhere. Affected mainly patch 25 and a
> new patch 33. This also addresses a theoretical race raised earlier by Jann
> Horn.
> * Smaller fixes reported by Sebastian Andrzej Siewior and Cyrill Gorcunov
>
> Changes since RFC v1 [1]:
> * Addressed feedback from Christoph and Mel, added their acks.
> * Finished RT conversion, adopting 2 patches from the RT tree.
> * The local_lock conversion has to sacrifice lockless fathpaths on PREEMPT_RT
> * Added some more cleanup patches to the front.
>
> This series was initially inspired by Mel's pcplist local_lock rewrite, and
> also interest to better understand SLUB's locking and the new primitives and RT
> variants and implications. It should make SLUB more preemption-friendly,
> especially for RT, hopefully without noticeable regressions, as the fast paths
> are not affected.
>
> Series is based on 5.14-rc3 and also available as a git branch:
> https://git.kernel.org/pub/scm/linux/kernel/git/vbabka/linux.git/log/?h=slub-local-lock-v3r1

Branch with fixed memory leak in patch 33:

https://git.kernel.org/pub/scm/linux/kernel/git/vbabka/linux.git/log/?h=slub-local-lock-v3r2