)]}'
{
  "commit": "c3c87e770458aa004bd7ed3f29945ff436fd6511",
  "tree": "79074706175f54d333daf61cc0794aa9d76b1909",
  "parents": [
    "ef454caeb740ee4e1b89aeb7f7692d5ddffb6830"
  ],
  "author": {
    "name": "Peter Zijlstra",
    "email": "peterz@infradead.org",
    "time": "Fri Jan 23 11:19:48 2015 +0100"
  },
  "committer": {
    "name": "Ingo Molnar",
    "email": "mingo@kernel.org",
    "time": "Wed Jan 28 13:17:35 2015 +0100"
  },
  "message": "perf: Tighten (and fix) the grouping condition\n\nThe fix from 9fc81d87420d (\"perf: Fix events installation during\nmoving group\") was incomplete in that it failed to recognise that\ncreating a group with events for different CPUs is semantically\nbroken -- they cannot be co-scheduled.\n\nFurthermore, it leads to real breakage where, when we create an event\nfor CPU Y and then migrate it to form a group on CPU X, the code gets\nconfused where the counter is programmed -- triggered in practice\nas well by me via the perf fuzzer.\n\nFix this by tightening the rules for creating groups. Only allow\ngrouping of counters that can be co-scheduled in the same context.\nThis means for the same task and/or the same cpu.\n\nFixes: 9fc81d87420d (\"perf: Fix events installation during moving group\")\nSigned-off-by: Peter Zijlstra (Intel) \u003cpeterz@infradead.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@kernel.org\u003e\nCc: Jiri Olsa \u003cjolsa@redhat.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/20150123125834.090683288@infradead.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "4f7a61ca4b393dc837cb4ad278c4a66306247cbd",
      "old_mode": 33188,
      "old_path": "include/linux/perf_event.h",
      "new_id": "664de5a4ec4672d9bbd9d1059a2c7005591329b3",
      "new_mode": 33188,
      "new_path": "include/linux/perf_event.h"
    },
    {
      "type": "modify",
      "old_id": "882f835a0d859e011848069ed6ee716f3def4dee",
      "old_mode": 33188,
      "old_path": "kernel/events/core.c",
      "new_id": "19efcf13375a2960e6d8e6994a8aa660d6221253",
      "new_mode": 33188,
      "new_path": "kernel/events/core.c"
    }
  ]
}
