Re: [PATCH v4 4/8] mm: vmscan: add shrinker_srcu_generation

From: Vlastimil Babka
Date: Thu Mar 09 2023 - 04:24:04 EST


On 3/7/23 07:56, Qi Zheng wrote:
> From: Kirill Tkhai <tkhai@xxxxx>
>
> After we make slab shrink lockless with SRCU, the longest
> sleep unregister_shrinker() will be a sleep waiting for
> all do_shrink_slab() calls.
>
> To aviod long unbreakable action in the unregister_shrinker(),

^ avoid

> add shrinker_srcu_generation to restore a check similar to the
> rwsem_is_contendent() check that we had before.
>
> And for memcg slab shrink, we unlock SRCU and continue
> iterations from the next shrinker id.
>
> Signed-off-by: Kirill Tkhai <tkhai@xxxxx>
> Signed-off-by: Qi Zheng <zhengqi.arch@xxxxxxxxxxxxx>

Acked-by: Vlastimil Babka <vbabka@xxxxxxx>