)]}'
{
  "commit": "e94c8a9cbce1aee4af9e1285802785481b7f93c5",
  "tree": "14d496e62c2e8d59a8954ff10368d59d8dfaea03",
  "parents": [
    "6b208e3f6e35aa76d254c395bdcd984b17c6b626"
  ],
  "author": {
    "name": "KAMEZAWA Hiroyuki",
    "email": "kamezawa.hiroyu@jp.fujitsu.com",
    "time": "Thu Jan 12 17:18:20 2012 -0800"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Thu Jan 12 20:13:05 2012 -0800"
  },
  "message": "memcg: make mem_cgroup_split_huge_fixup() more efficient\n\nIn split_huge_page(), mem_cgroup_split_huge_fixup() is called to handle\npage_cgroup modifcations.  It takes move_lock_page_cgroup() and modifies\npage_cgroup and LRU accounting jobs and called HPAGE_PMD_SIZE - 1 times.\n\nBut thinking again,\n  - compound_lock() is held at move_accout...then, it\u0027s not necessary\n    to take move_lock_page_cgroup().\n  - LRU is locked and all tail pages will go into the same LRU as\n    head is now on.\n  - page_cgroup is contiguous in huge page range.\n\nThis patch fixes mem_cgroup_split_huge_fixup() as to be called once per\nhugepage and reduce costs for spliting.\n\n[akpm@linux-foundation.org: fix typo, per Michal]\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nReviewed-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Balbir Singh \u003cbsingharora@gmail.com\u003e\nCc: David Rientjes \u003crientjes@google.com\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": "e2f8e7caf04b217f697f6c8c85afcc26c4510c21",
      "old_mode": 33188,
      "old_path": "include/linux/memcontrol.h",
      "new_id": "cee3761666f07914348f50336557e266ba78b496",
      "new_mode": 33188,
      "new_path": "include/linux/memcontrol.h"
    },
    {
      "type": "modify",
      "old_id": "36b3d988b4ef6ac8c263ee0732c1d08513afb04f",
      "old_mode": 33188,
      "old_path": "mm/huge_memory.c",
      "new_id": "db522e160ccaacc1c12c162666d25bee8ebed7e8",
      "new_mode": 33188,
      "new_path": "mm/huge_memory.c"
    },
    {
      "type": "modify",
      "old_id": "972878b648c2af512c7f586b0c756c8fb0d92fa6",
      "old_mode": 33188,
      "old_path": "mm/memcontrol.c",
      "new_id": "42174612cc0b42deae1108acb5a7c47d354f97e0",
      "new_mode": 33188,
      "new_path": "mm/memcontrol.c"
    }
  ]
}
