Re: [PATCH RFC v2 02/10] mm: Make shrink_slab() lockless
From: Tetsuo Handa
Date: Thu Aug 09 2018 - 06:39:43 EST
On 2018/08/09 18:21, Kirill Tkhai wrote:
> 2)SRCU. Pros are there are no the above problems; we will have completely unlocked and
> scalable shrink_slab(). We will also have a possibility to avoid unregistering delays,
> like I did for superblock shrinker. There will be full scalability.
> Cons is enabling SRCU.
>
How unregistering delays can be avoided? Since you traverse all shrinkers
using one shrinker_srcu, synchronize_srcu(&shrinker_srcu) will block
unregistering threads until longest inflight srcu_read_lock() user calls
srcu_read_unlock().
Unless you use per shrinker counter like below, I wonder whether
unregistering delays can be avoided...
https://marc.info/?l=linux-mm&m=151060909613004
https://marc.info/?l=linux-mm&m=151060909713005