)]}'
{
  "commit": "5e41d0d60a534d2a5dc9772600a58f44c8d12506",
  "tree": "d020ec1e72c338f3bf9dc4558ac3c82527a02384",
  "parents": [
    "31d9b3938c0459e5e9755ce0a98ac1e24eeff972"
  ],
  "author": {
    "name": "Thomas Gleixner",
    "email": "tglx@linutronix.de",
    "time": "Sun Sep 16 15:36:43 2007 +0200"
  },
  "committer": {
    "name": "Thomas Gleixner",
    "email": "tglx@chaos.(none)",
    "time": "Sun Sep 16 15:36:43 2007 +0200"
  },
  "message": "clockevents: prevent stale tick update on offline cpu\n\nTaking a cpu offline removes the cpu from the online mask before the\nCPU_DEAD notification is done. The clock events layer does the cleanup\nof the dead CPU from the CPU_DEAD notifier chain. tick_do_timer_cpu is\nused to avoid xtime lock contention by assigning the task of jiffies\nxtime updates to one CPU. If a CPU is taken offline, then this\nassignment becomes stale. This went unnoticed because most of the time\nthe offline CPU went dead before the online CPU reached __cpu_die(),\nwhere the CPU_DEAD state is checked. In the case that the offline CPU did\nnot reach the DEAD state before we reach __cpu_die(), the code in there\ngoes to sleep for 100ms. Due to the stale time update assignment, the\nsystem is stuck forever.\n\nTake the assignment away when a cpu is not longer in the cpu_online_mask.\nWe do this in the last call to tick_nohz_stop_sched_tick() when the offline\nCPU is on the way to the final play_dead() idle entry.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b416995b975727ca8b6dbf8b331de5351a1ef7f5",
      "old_mode": 33188,
      "old_path": "kernel/time/tick-sched.c",
      "new_id": "8c3fef1db09ccb03507a89de6cbd7971dd803f41",
      "new_mode": 33188,
      "new_path": "kernel/time/tick-sched.c"
    }
  ]
}
