> On Jul 24, 2023, at 17:43, Qi Zheng <zhengqi.a...@bytedance.com> wrote: > > Currently, the synchronize_shrinkers() is only used by TTM pool. It only > requires that no shrinkers run in parallel. > > After we use RCU+refcount method to implement the lockless slab shrink, > we can not use shrinker_rwsem or synchronize_rcu() to guarantee that all > shrinker invocations have seen an update before freeing memory. > > So we introduce a new pool_shrink_rwsem to implement a private > synchronize_shrinkers(), so as to achieve the same purpose. > > Signed-off-by: Qi Zheng <zhengqi.a...@bytedance.com> Reviewed-by: Muchun Song <songmuc...@bytedance.com>
- [PATCH v2 37/47] xfs: dynamically allocate the xfs-inodegc sh... Qi Zheng
- [PATCH v2 38/47] xfs: dynamically allocate the xfs-qm shrinke... Qi Zheng
- [PATCH v2 39/47] zsmalloc: dynamically allocate the mm-zspool... Qi Zheng
- [PATCH v2 40/47] fs: super: dynamically allocate the s_shrink Qi Zheng
- [PATCH v2 41/47] mm: shrinker: remove old APIs Qi Zheng
- [PATCH v2 42/47] drm/ttm: introduce pool_shrink_rwsem Qi Zheng
- Re: [PATCH v2 42/47] drm/ttm: introduce pool_shrink_rwse... Muchun Song
- [PATCH v2 43/47] mm: shrinker: add a secondary array for shri... Qi Zheng
- [PATCH v2 44/47] mm: shrinker: make global slab shrink lockle... Qi Zheng
- [PATCH v2 45/47] mm: shrinker: make memcg slab shrink lockles... Qi Zheng
- [PATCH v2 46/47] mm: shrinker: hold write lock to reparent sh... Qi Zheng
- [PATCH v2 47/47] mm: shrinker: convert shrinker_rwsem to mute... Qi Zheng