This patch set introduces a new scheme of shrinker unregistration. It allows to split the unregistration in two parts: fast and slow. This allows to hide slow part from a user, so user-visible unregistration becomes fast. This fixes the -88.8% regression of stress-ng.ramfs.ops_per_sec noticed by kernel test robot: https://lore.kernel.org/lkml/202305230837.db2c233f-yujie.liu@xxxxxxxxx/ --- Kirill Tkhai (2): mm: Split unregister_shrinker() in fast and slow part fs: Use delayed shrinker unregistration Qi Zheng (1): mm: vmscan: move shrinker_debugfs_remove() before synchronize_srcu() fs/super.c | 3 ++- include/linux/shrinker.h | 4 ++++ mm/vmscan.c | 39 +++++++++++++++++++++++++++++++-------- 3 files changed, 37 insertions(+), 9 deletions(-) -- Signed-off-by: Kirill Tkhai <tkhai@xxxxx>