The quilt patch titled Subject: mm: vmscan: move shrinker_debugfs_remove() before synchronize_srcu() has been removed from the -mm tree. Its filename was mm-vmscan-move-shrinker_debugfs_remove-before-synchronize_srcu.patch This patch was dropped because it is obsolete ------------------------------------------------------ From: Qi Zheng <zhengqi.arch@xxxxxxxxxxxxx> Subject: mm: vmscan: move shrinker_debugfs_remove() before synchronize_srcu() Date: Thu, 1 Jun 2023 13:27:14 +0000 The debugfs_remove_recursive() will wait for debugfs_file_put() to return, so there is no need to put it after synchronize_srcu() to wait for the rcu read-side critical section to exit. Just move it before synchronize_srcu(), which is also convenient to put the heavy synchronize_srcu() in the delayed work later. Link: https://lkml.kernel.org/r/20230601132714.2540707-1-qi.zheng@xxxxxxxxx Signed-off-by: Qi Zheng <zhengqi.arch@xxxxxxxxxxxxx> Cc: Roman Gushchin <roman.gushchin@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- mm/vmscan.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- a/mm/vmscan.c~mm-vmscan-move-shrinker_debugfs_remove-before-synchronize_srcu +++ a/mm/vmscan.c @@ -818,11 +818,11 @@ void unregister_shrinker(struct shrinker debugfs_entry = shrinker_debugfs_detach(shrinker, &debugfs_id); mutex_unlock(&shrinker_mutex); + shrinker_debugfs_remove(debugfs_entry, debugfs_id); + atomic_inc(&shrinker_srcu_generation); synchronize_srcu(&shrinker_srcu); - shrinker_debugfs_remove(debugfs_entry, debugfs_id); - kfree(shrinker->nr_deferred); shrinker->nr_deferred = NULL; } _ Patches currently in -mm which might be from zhengqi.arch@xxxxxxxxxxxxx are revert-mm-shrinkers-convert-shrinker_rwsem-to-mutex.patch revert-mm-vmscan-remove-shrinker_rwsem-from-synchronize_shrinkers.patch revert-mm-vmscan-hold-write-lock-to-reparent-shrinker-nr_deferred.patch revert-mm-shrinkers-make-count-and-scan-in-shrinker-debugfs-lockless.patch revert-mm-vmscan-add-shrinker_srcu_generation.patch revert-mm-vmscan-make-memcg-slab-shrink-lockless.patch revert-mm-vmscan-make-global-slab-shrink-lockless.patch