)]}'
{
  "commit": "041bd12e272c53a35c54c13875839bcb98c999ce",
  "tree": "77713ee150e870798b9a8f12f8dddc0a0e498089",
  "parents": [
    "23d11a58a9a60dcb52c8fc6494efce908b24c295"
  ],
  "author": {
    "name": "Tejun Heo",
    "email": "tj@kernel.org",
    "time": "Tue Feb 09 16:11:26 2016 -0500"
  },
  "committer": {
    "name": "Tejun Heo",
    "email": "tj@kernel.org",
    "time": "Tue Feb 09 16:11:26 2016 -0500"
  },
  "message": "Revert \"workqueue: make sure delayed work run in local cpu\"\n\nThis reverts commit 874bbfe600a660cba9c776b3957b1ce393151b76.\n\nWorkqueue used to implicity guarantee that work items queued without\nexplicit CPU specified are put on the local CPU.  Recent changes in\ntimer broke the guarantee and led to vmstat breakage which was fixed\nby 176bed1de5bf (\"vmstat: explicitly schedule per-cpu work on the CPU\nwe need it to run on\").\n\nvmstat is the most likely to expose the issue and it\u0027s quite possible\nthat there are other similar problems which are a lot more difficult\nto trigger.  As a preventive measure, 874bbfe600a6 (\"workqueue: make\nsure delayed work run in local cpu\") was applied to restore the local\nCPU guarnatee.  Unfortunately, the change exposed a bug in timer code\nwhich got fixed by 22b886dd1018 (\"timers: Use proper base migration in\nadd_timer_on()\").  Due to code restructuring, the commit couldn\u0027t be\nbackported beyond certain point and stable kernels which only had\n874bbfe600a6 started crashing.\n\nThe local CPU guarantee was accidental more than anything else and we\nwant to get rid of it anyway.  As, with the vmstat case fixed,\n874bbfe600a6 is causing more problems than it\u0027s fixing, it has been\ndecided to take the chance and officially break the guarantee by\nreverting the commit.  A debug feature will be added to force foreign\nCPU assignment to expose cases relying on the guarantee and fixes for\nthe individual cases will be backported to stable as necessary.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nFixes: 874bbfe600a6 (\"workqueue: make sure delayed work run in local cpu\")\nLink: http://lkml.kernel.org/g/20160120211926.GJ10810@quack.suse.cz\nCc: stable@vger.kernel.org\nCc: Mike Galbraith \u003cumgwanakikbuti@gmail.com\u003e\nCc: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nCc: Daniel Bilik \u003cdaniel.bilik@neosystem.cz\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nCc: Shaohua Li \u003cshli@fb.com\u003e\nCc: Sasha Levin \u003csasha.levin@oracle.com\u003e\nCc: Ben Hutchings \u003cben@decadent.org.uk\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Daniel Bilik \u003cdaniel.bilik@neosystem.cz\u003e\nCc: Jiri Slaby \u003cjslaby@suse.cz\u003e\nCc: Michal Hocko \u003cmhocko@kernel.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "dc7faad63646e7b8f0ff8322183e17d2599e3b67",
      "old_mode": 33188,
      "old_path": "kernel/workqueue.c",
      "new_id": "5e63d3b719aef420139ecbac19f0f3e0d5f60edd",
      "new_mode": 33188,
      "new_path": "kernel/workqueue.c"
    }
  ]
}
