)]}'
{
  "commit": "7cee3603192a198b23c034a7372b599081cbee88",
  "tree": "8458873ba42f88fc68292a411e4996432d48a31e",
  "parents": [
    "d6ecbcd70fffcffe79d45f3be7b8fcf5d8e04a3d"
  ],
  "author": {
    "name": "Qi Zheng",
    "email": "zhengqi.arch@bytedance.com",
    "time": "Fri Jun 09 08:15:17 2023 +0000"
  },
  "committer": {
    "name": "Andrew Morton",
    "email": "akpm@linux-foundation.org",
    "time": "Mon Jun 19 13:19:34 2023 -0700"
  },
  "message": "Revert \"mm: vmscan: make memcg slab shrink lockless\"\n\nThis reverts commit caa05325c9126c77ebf114edce51536a0d0a9a08.\n\nKernel test robot reports -88.8% regression in stress-ng.ramfs.ops_per_sec\ntest case [1], which is caused by commit f95bdb700bc6 (\"mm: vmscan: make\nglobal slab shrink lockless\").  The root cause is that SRCU has to be\ncareful to not frequently check for SRCU read-side critical section exits.\nTherefore, even if no one is currently in the SRCU read-side critical\nsection, synchronize_srcu() cannot return quickly.  That\u0027s why\nunregister_shrinker() has become slower.\n\nAfter discussion, we will try to use the refcount+RCU method [2] proposed\nby Dave Chinner to continue to re-implement the lockless slab shrink.  So\nrevert the shrinker_srcu related changes first.\n\n[1]. https://lore.kernel.org/lkml/202305230837.db2c233f-yujie.liu@intel.com/\n[2]. https://lore.kernel.org/lkml/ZIJhou1d55d4H1s0@dread.disaster.area/\n\nLink: https://lkml.kernel.org/r/20230609081518.3039120-7-qi.zheng@linux.dev\nReported-by: kernel test robot \u003cyujie.liu@intel.com\u003e\nCloses: https://lore.kernel.org/oe-lkp/202305230837.db2c233f-yujie.liu@intel.com\nSigned-off-by: Qi Zheng \u003czhengqi.arch@bytedance.com\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCc: Kirill Tkhai \u003ctkhai@ya.ru\u003e\nCc: Muchun Song \u003cmuchun.song@linux.dev\u003e\nCc: Roman Gushchin \u003croman.gushchin@linux.dev\u003e\nCc: Vlastimil Babka \u003cvbabka@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "50775b73d0c7b152d8ea7c99082ac1b94f3b8405",
      "old_mode": 33188,
      "old_path": "mm/vmscan.c",
      "new_id": "a008d7f2d0fc8583aef32a5c6460b40c3c049ec6",
      "new_mode": 33188,
      "new_path": "mm/vmscan.c"
    }
  ]
}
