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

From: Qi Zheng
Date: Thu Mar 09 2023 - 05:14:08 EST




On 2023/3/9 17:23, Vlastimil Babka wrote:
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

will change.


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>

Thanks.




--
Thanks,
Qi