)]}'
{
  "commit": "cf2b8fbf1d2f7ba07999e97685563c94483d33d6",
  "tree": "0796234b347896da6b7a2c3fee67b4b2bfb52278",
  "parents": [
    "b70a2a21dc9d4ad455931b53131a0cb4fc01fafe"
  ],
  "author": {
    "name": "Vladimir Davydov",
    "email": "vdavydov@parallels.com",
    "time": "Thu Oct 09 15:28:59 2014 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Thu Oct 09 22:26:00 2014 -0400"
  },
  "message": "memcg: zap memcg_can_account_kmem\n\nmemcg_can_account_kmem() returns true iff\n\n    !mem_cgroup_disabled() \u0026\u0026 !mem_cgroup_is_root(memcg) \u0026\u0026\n                                   memcg_kmem_is_active(memcg);\n\nTo begin with the !mem_cgroup_is_root(memcg) check is useless, because one\ncan\u0027t enable kmem accounting for the root cgroup (mem_cgroup_write()\nreturns EINVAL on an attempt to set the limit on the root cgroup).\n\nFurthermore, the !mem_cgroup_disabled() check also seems to be redundant.\nThe point is memcg_can_account_kmem() is called from three places:\nmem_cgroup_salbinfo_read(), __memcg_kmem_get_cache(), and\n__memcg_kmem_newpage_charge().  The latter two functions are only invoked\nif memcg_kmem_enabled() returns true, which implies that the memory cgroup\nsubsystem is enabled.  And mem_cgroup_slabinfo_read() shows the output of\nmemory.kmem.slabinfo, which won\u0027t exist if the memory cgroup is completely\ndisabled.\n\nSo let\u0027s substitute all the calls to memcg_can_account_kmem() with plain\nmemcg_kmem_is_active(), and kill the former.\n\nSigned-off-by: Vladimir Davydov \u003cvdavydov@parallels.com\u003e\nAcked-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Michal Hocko \u003cmhocko@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c86cc442ada47c277bcf68f2d77a96c0272c629c",
      "old_mode": 33188,
      "old_path": "mm/memcontrol.c",
      "new_id": "23976fd885fd588a7687bf5631f98ea38f2235b4",
      "new_mode": 33188,
      "new_path": "mm/memcontrol.c"
    }
  ]
}
