)]}'
{
  "commit": "e1aab161e0135aafcd439be20b4f35e4b0922d95",
  "tree": "d0bcdf7a34a34020079238027b431ffc6dece307",
  "parents": [
    "180d8cd942ce336b2c869d324855c40c5db478ad"
  ],
  "author": {
    "name": "Glauber Costa",
    "email": "glommer@parallels.com",
    "time": "Sun Dec 11 21:47:03 2011 +0000"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@davemloft.net",
    "time": "Mon Dec 12 19:04:10 2011 -0500"
  },
  "message": "socket: initial cgroup code.\n\nThe goal of this work is to move the memory pressure tcp\ncontrols to a cgroup, instead of just relying on global\nconditions.\n\nTo avoid excessive overhead in the network fast paths,\nthe code that accounts allocated memory to a cgroup is\nhidden inside a static_branch(). This branch is patched out\nuntil the first non-root cgroup is created. So when nobody\nis using cgroups, even if it is mounted, no significant performance\npenalty should be seen.\n\nThis patch handles the generic part of the code, and has nothing\ntcp-specific.\n\nSigned-off-by: Glauber Costa \u003cglommer@parallels.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujtsu.com\u003e\nCC: Kirill A. Shutemov \u003ckirill@shutemov.name\u003e\nCC: David S. Miller \u003cdavem@davemloft.net\u003e\nCC: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCC: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f2453241142b5bc5fd4b62b83e7fe622939c8121",
      "old_mode": 33188,
      "old_path": "Documentation/cgroups/memory.txt",
      "new_id": "23a8dc5319a3de958f0e798f8ba7c9a58203ca07",
      "new_mode": 33188,
      "new_path": "Documentation/cgroups/memory.txt"
    },
    {
      "type": "modify",
      "old_id": "b87068a1a09ef84ece916a4a722ebf70e921d1c6",
      "old_mode": 33188,
      "old_path": "include/linux/memcontrol.h",
      "new_id": "f15021b9f734bfb602542a4a88b920666db61d12",
      "new_mode": 33188,
      "new_path": "include/linux/memcontrol.h"
    },
    {
      "type": "modify",
      "old_id": "ed0dbf034539b97a0c2e465b6131d0ac5ece53cc",
      "old_mode": 33188,
      "old_path": "include/net/sock.h",
      "new_id": "d5eab256167cd2ed9cee6b08e63c79802f693863",
      "new_mode": 33188,
      "new_path": "include/net/sock.h"
    },
    {
      "type": "modify",
      "old_id": "9fbcff71245ed429f58f6cb4eb3c4c81b7da3ee7",
      "old_mode": 33188,
      "old_path": "mm/memcontrol.c",
      "new_id": "3de3901ae0a79b03c2b5d651bc7151576dbba2c9",
      "new_mode": 33188,
      "new_path": "mm/memcontrol.c"
    },
    {
      "type": "modify",
      "old_id": "a3d4205e7238a9ab38f8302355a87415d3c82782",
      "old_mode": 33188,
      "old_path": "net/core/sock.c",
      "new_id": "6a871b8fdd20eacab1ba49afb68c02e804e95e8f",
      "new_mode": 33188,
      "new_path": "net/core/sock.c"
    }
  ]
}
