diff options
| author | Kirill Tkhai <[email protected]> | 2023-03-13 19:28:15 +0800 |
|---|---|---|
| committer | Andrew Morton <[email protected]> | 2023-03-28 16:20:17 -0700 |
| commit | 475733dda5aedba9e086379aafe6b5ffd53e8f5e (patch) | |
| tree | eefd303f740545f77516e92e4aa01c671ac90220 /tools/perf/scripts/python/flamegraph.py | |
| parent | caa05325c9126c77ebf114edce51536a0d0a9a08 (diff) | |
mm: vmscan: add shrinker_srcu_generation
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 avoid long unbreakable action in the unregister_shrinker(), 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.
Link: https://lkml.kernel.org/r/[email protected]
Signed-off-by: Kirill Tkhai <[email protected]>
Signed-off-by: Qi Zheng <[email protected]>
Acked-by: Vlastimil Babka <[email protected]>
Acked-by: Roman Gushchin <[email protected]>
Cc: Christian König <[email protected]>
Cc: David Hildenbrand <[email protected]>
Cc: Davidlohr Bueso <[email protected]>
Cc: Johannes Weiner <[email protected]>
Cc: Michal Hocko <[email protected]>
Cc: Muchun Song <[email protected]>
Cc: Paul E. McKenney <[email protected]>
Cc: Shakeel Butt <[email protected]>
Cc: Sultan Alsawaf <[email protected]>
Cc: Tetsuo Handa <[email protected]>
Cc: Yang Shi <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/flamegraph.py')
0 files changed, 0 insertions, 0 deletions