)]}'
{
  "commit": "5035ebc644aec92d55d1bbfe042f35341e4bffb5",
  "tree": "b6b76cac588da2cb4f7e17761fc8f508bef80051",
  "parents": [
    "c15187a4a2d660bf490f7873afd0de5288f65c8f"
  ],
  "author": {
    "name": "Roman Gushchin",
    "email": "roman.gushchin@linux.dev",
    "time": "Tue May 31 20:22:23 2022 -0700"
  },
  "committer": {
    "name": "akpm",
    "email": "akpm@linux-foundation.org",
    "time": "Sun Jul 03 18:08:40 2022 -0700"
  },
  "message": "mm: shrinkers: introduce debugfs interface for memory shrinkers\n\nThis commit introduces the /sys/kernel/debug/shrinker debugfs interface\nwhich provides an ability to observe the state of individual kernel memory\nshrinkers.\n\nBecause the feature adds some memory overhead (which shouldn\u0027t be large\nunless there is a huge amount of registered shrinkers), it\u0027s guarded by a\nconfig option (enabled by default).\n\nThis commit introduces the \"count\" interface for each shrinker registered\nin the system.\n\nThe output is in the following format:\n\u003ccgroup inode id\u003e \u003cnr of objects on node 0\u003e \u003cnr of objects on node 1\u003e...\n\u003ccgroup inode id\u003e \u003cnr of objects on node 0\u003e \u003cnr of objects on node 1\u003e...\n...\n\nTo reduce the size of output on machines with many thousands cgroups, if\nthe total number of objects on all nodes is 0, the line is omitted.\n\nIf the shrinker is not memcg-aware or CONFIG_MEMCG is off, 0 is printed as\ncgroup inode id.  If the shrinker is not numa-aware, 0\u0027s are printed for\nall nodes except the first one.\n\nThis commit gives debugfs entries simple numeric names, which are not very\nconvenient.  The following commit in the series will provide shrinkers\nwith more meaningful names.\n\n[akpm@linux-foundation.org: remove WARN_ON_ONCE(), per Roman]\n  Reported-by: syzbot+300d27c79fe6d4cbcc39@syzkaller.appspotmail.com\nLink: https://lkml.kernel.org/r/20220601032227.4076670-3-roman.gushchin@linux.dev\nSigned-off-by: Roman Gushchin \u003croman.gushchin@linux.dev\u003e\nReviewed-by: Kent Overstreet \u003ckent.overstreet@gmail.com\u003e\nAcked-by: Muchun Song \u003csongmuchun@bytedance.com\u003e\nCc: Christophe JAILLET \u003cchristophe.jaillet@wanadoo.fr\u003e\nCc: Dave Chinner \u003cdchinner@redhat.com\u003e\nCc: Hillf Danton \u003chdanton@sina.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "76fbf92b04d958c5d5ba23226c3651044d0e4fac",
      "old_mode": 33188,
      "old_path": "include/linux/shrinker.h",
      "new_id": "2ced8149c51371027fe7fe37480608aa9b26710e",
      "new_mode": 33188,
      "new_path": "include/linux/shrinker.h"
    },
    {
      "type": "modify",
      "old_id": "2e24db4bff1921483ad1bd1e181d242e6cd55345",
      "old_mode": 33188,
      "old_path": "lib/Kconfig.debug",
      "new_id": "0b483a8da409d53f85a3000e72d3e72a99aa7acc",
      "new_mode": 33188,
      "new_path": "lib/Kconfig.debug"
    },
    {
      "type": "modify",
      "old_id": "6f9ffa968a1a13e9e303d8e7fb1a038b4c477f40",
      "old_mode": 33188,
      "old_path": "mm/Makefile",
      "new_id": "9a564f836403597c16fe1bddafc5aa91d7e25d99",
      "new_mode": 33188,
      "new_path": "mm/Makefile"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1a70556bd46cf46b6c3f0368af519249232165f2",
      "new_mode": 33188,
      "new_path": "mm/shrinker_debug.c"
    },
    {
      "type": "modify",
      "old_id": "f7d9a683e3a7d38fe1ffd0265b9f7d7acad938b4",
      "old_mode": 33188,
      "old_path": "mm/vmscan.c",
      "new_id": "35dedff79eb4cf6b2443da9f7a1008312f773535",
      "new_mode": 33188,
      "new_path": "mm/vmscan.c"
    }
  ]
}
