)]}'
{
  "commit": "e5d1367f17ba6a6fed5fd8b74e4d5720923e0c25",
  "tree": "5862b4cddb7c88e0513e503cb3f46c60da2eeb6f",
  "parents": [
    "d41d5a01631af821d3a3447e6613a316f5ee6c25"
  ],
  "author": {
    "name": "Stephane Eranian",
    "email": "eranian@google.com",
    "time": "Mon Feb 14 11:20:01 2011 +0200"
  },
  "committer": {
    "name": "Ingo Molnar",
    "email": "mingo@elte.hu",
    "time": "Wed Feb 16 13:30:48 2011 +0100"
  },
  "message": "perf: Add cgroup support\n\nThis kernel patch adds the ability to filter monitoring based on\ncontainer groups (cgroups). This is for use in per-cpu mode only.\n\nThe cgroup to monitor is passed as a file descriptor in the pid\nargument to the syscall. The file descriptor must be opened to\nthe cgroup name in the cgroup filesystem. For instance, if the\ncgroup name is foo and cgroupfs is mounted in /cgroup, then the\nfile descriptor is opened to /cgroup/foo. Cgroup mode is\nactivated by passing PERF_FLAG_PID_CGROUP in the flags argument\nto the syscall.\n\nFor instance to measure in cgroup foo on CPU1 assuming\ncgroupfs is mounted under /cgroup:\n\nstruct perf_event_attr attr;\nint cgroup_fd, fd;\n\ncgroup_fd \u003d open(\"/cgroup/foo\", O_RDONLY);\nfd \u003d perf_event_open(\u0026attr, cgroup_fd, 1, -1, PERF_FLAG_PID_CGROUP);\nclose(cgroup_fd);\n\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\n[ added perf_cgroup_{exit,attach} ]\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c4d590250.114ddf0a.689e.4482@mx.google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "38117d937332516ff063462fba30dd80a81b3aa3",
      "old_mode": 33188,
      "old_path": "include/linux/cgroup.h",
      "new_id": "e654fa239916e691c24317d43fc88aea5fef571a",
      "new_mode": 33188,
      "new_path": "include/linux/cgroup.h"
    },
    {
      "type": "modify",
      "old_id": "ccefff02b6cb005123c4b904e06116cb3a850474",
      "old_mode": 33188,
      "old_path": "include/linux/cgroup_subsys.h",
      "new_id": "cdbfcb8780ec94d4e69ea9ab0826e31d49ca8cfe",
      "new_mode": 33188,
      "new_path": "include/linux/cgroup_subsys.h"
    },
    {
      "type": "modify",
      "old_id": "dda5b0a3ff6014b8a0741a186ed0e3968b63d298",
      "old_mode": 33188,
      "old_path": "include/linux/perf_event.h",
      "new_id": "38c8b25548428e961cfa2cf1002f36f239beabb0",
      "new_mode": 33188,
      "new_path": "include/linux/perf_event.h"
    },
    {
      "type": "modify",
      "old_id": "be788c0957d4abac813eef18abe7822177542969",
      "old_mode": 33188,
      "old_path": "init/Kconfig",
      "new_id": "20d6bd919b8db0f168e2e5a12b0d73703cb02fba",
      "new_mode": 33188,
      "new_path": "init/Kconfig"
    },
    {
      "type": "modify",
      "old_id": "f6495f33a355a85090768f2d8cbe68cff5dcf076",
      "old_mode": 33188,
      "old_path": "kernel/cgroup.c",
      "new_id": "95362d15128cb7b40ad2bddc35add5adb76c00cb",
      "new_mode": 33188,
      "new_path": "kernel/cgroup.c"
    },
    {
      "type": "modify",
      "old_id": "3d3f282fa50e2dc9b41ccc7a1e424175d3d09193",
      "old_mode": 33188,
      "old_path": "kernel/perf_event.c",
      "new_id": "65dcdc76d709efff7f5596e149a24e2c6fd551aa",
      "new_mode": 33188,
      "new_path": "kernel/perf_event.c"
    }
  ]
}
