)]}'
{
  "commit": "f9f9ffc237dd924f048204e8799da74f9ecf40cf",
  "tree": "81ed0c3435dfe54781d0f120d3a5938d571bacd1",
  "parents": [
    "0ac9b1c21874d2490331233b3242085f8151e166"
  ],
  "author": {
    "name": "Ben Segall",
    "email": "bsegall@google.com",
    "time": "Wed Oct 16 11:16:32 2013 -0700"
  },
  "committer": {
    "name": "Ingo Molnar",
    "email": "mingo@kernel.org",
    "time": "Tue Oct 29 12:02:32 2013 +0100"
  },
  "message": "sched: Avoid throttle_cfs_rq() racing with period_timer stopping\n\nthrottle_cfs_rq() doesn\u0027t check to make sure that period_timer is running,\nand while update_curr/assign_cfs_runtime does, a concurrently running\nperiod_timer on another cpu could cancel itself between this cpu\u0027s\nupdate_curr and throttle_cfs_rq(). If there are no other cfs_rqs running\nin the tg to restart the timer, this causes the cfs_rq to be stranded\nforever.\n\nFix this by calling __start_cfs_bandwidth() in throttle if the timer is\ninactive.\n\n(Also add some sched_debug lines for cfs_bandwidth.)\n\nTested: make a run/sleep task in a cgroup, loop switching the cgroup\nbetween 1ms/100ms quota and unlimited, checking for timer_active\u003d0 and\nthrottled\u003d1 as a failure. With the throttle_cfs_rq() change commented out\nthis fails, with the full patch it passes.\n\nSigned-off-by: Ben Segall \u003cbsegall@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: pjt@google.com\nLink: http://lkml.kernel.org/r/20131016181632.22647.84174.stgit@sword-of-the-dawn.mtv.corp.google.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e6ba5e31c7ca24e67bb3f56fbe8f422371c8fb74",
      "old_mode": 33188,
      "old_path": "kernel/sched/debug.c",
      "new_id": "5c34d1817e8f2346e853cc8f273fdabce1d52db1",
      "new_mode": 33188,
      "new_path": "kernel/sched/debug.c"
    },
    {
      "type": "modify",
      "old_id": "0923ab2b7eb9bd7b1fb7456b89b8bbfed53fb377",
      "old_mode": 33188,
      "old_path": "kernel/sched/fair.c",
      "new_id": "41c02b6b090e0e376a4242ab05aea099d72354c4",
      "new_mode": 33188,
      "new_path": "kernel/sched/fair.c"
    }
  ]
}
