Messages in this thread | | | Subject | Re: [PATCH RFC v2 02/10] mm: Make shrink_slab() lockless | From | Tetsuo Handa <> | Date | Thu, 9 Aug 2018 19:37:32 +0900 |
| |
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
| |