)]}'
{
  "commit": "a3b2d692690aef228e493b1beaafe5364cab3237",
  "tree": "d3ad99c5370462861a1b918b4136e7bd7ad78e52",
  "parents": [
    "3c776e64660028236313f0e54f3a9945764422df"
  ],
  "author": {
    "name": "KAMEZAWA Hiroyuki",
    "email": "kamezawa.hiroyu@jp.fujitsu.com",
    "time": "Thu Apr 02 16:57:45 2009 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Thu Apr 02 19:04:56 2009 -0700"
  },
  "message": "cgroups: use css id in swap cgroup for saving memory v5\n\nTry to use CSS ID for records in swap_cgroup.  By this, on 64bit machine,\nsize of swap_cgroup goes down to 2 bytes from 8bytes.\n\nThis means, when 2GB of swap is equipped, (assume the page size is 4096bytes)\n\n\tFrom size of swap_cgroup \u003d 2G/4k * 8 \u003d 4Mbytes.\n\tTo   size of swap_cgroup \u003d 2G/4k * 2 \u003d 1Mbytes.\n\nReduction is large.  Of course, there are trade-offs.  This CSS ID will\nadd overhead to swap-in/swap-out/swap-free.\n\nBut in general,\n  - swap is a resource which the user tend to avoid use.\n  - If swap is never used, swap_cgroup area is not used.\n  - Reading traditional manuals, size of swap should be proportional to\n    size of memory. Memory size of machine is increasing now.\n\nI think reducing size of swap_cgroup makes sense.\n\nNote:\n  - ID-\u003eCSS lookup routine has no locks, it\u0027s under RCU-Read-Side.\n  - memcg can be obsolete at rmdir() but not freed while refcnt from\n    swap_cgroup is available.\n\nChangelog v4-\u003ev5:\n - reworked on to memcg-charge-swapcache-to-proper-memcg.patch\nChanglog -\u003ev4:\n - fixed not configured case.\n - deleted unnecessary comments.\n - fixed NULL pointer bug.\n - fixed message in dmesg.\n\n[nishimura@mxp.nes.nec.co.jp: css_tryget can be called twice in !PageCgroupUsed case]\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\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": "602cc1fdee90c152dc458642256b623ce8cbfa78",
      "old_mode": 33188,
      "old_path": "include/linux/page_cgroup.h",
      "new_id": "7339c7bf73315e56a981b382229abfc39384e23b",
      "new_mode": 33188,
      "new_path": "include/linux/page_cgroup.h"
    },
    {
      "type": "modify",
      "old_id": "81b0ae8183d0b04e3e0924823732020da2777ded",
      "old_mode": 33188,
      "old_path": "mm/memcontrol.c",
      "new_id": "55dea5968464308c101535e97164c63113aea531",
      "new_mode": 33188,
      "new_path": "mm/memcontrol.c"
    },
    {
      "type": "modify",
      "old_id": "ceecfbb143fa9d7b2a3f9ffb4ca9980da6bc0b53",
      "old_mode": 33188,
      "old_path": "mm/page_cgroup.c",
      "new_id": "ebf81074bed48ff68ddba8b1525a4bde7c7136bc",
      "new_mode": 33188,
      "new_path": "mm/page_cgroup.c"
    }
  ]
}
