)]}'
{
  "commit": "874bbfe600a660cba9c776b3957b1ce393151b76",
  "tree": "26b5f1fbf9dceb1c5cc18962316196c3ff007c4e",
  "parents": [
    "9ffecb10283508260936b96022d4ee43a7798b4c"
  ],
  "author": {
    "name": "Shaohua Li",
    "email": "shli@fb.com",
    "time": "Wed Sep 30 09:05:30 2015 -0700"
  },
  "committer": {
    "name": "Tejun Heo",
    "email": "tj@kernel.org",
    "time": "Wed Sep 30 13:06:46 2015 -0400"
  },
  "message": "workqueue: make sure delayed work run in local cpu\n\nMy system keeps crashing with below message. vmstat_update() schedules a delayed\nwork in current cpu and expects the work runs in the cpu.\nschedule_delayed_work() is expected to make delayed work run in local cpu. The\nproblem is timer can be migrated with NO_HZ. __queue_work() queues work in\ntimer handler, which could run in a different cpu other than where the delayed\nwork is scheduled. The end result is the delayed work runs in different cpu.\nThe patch makes __queue_delayed_work records local cpu earlier. Where the timer\nruns doesn\u0027t change where the work runs with the change.\n\n[   28.010131] ------------[ cut here ]------------\n[   28.010609] kernel BUG at ../mm/vmstat.c:1392!\n[   28.011099] invalid opcode: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC KASAN\n[   28.011860] Modules linked in:\n[   28.012245] CPU: 0 PID: 289 Comm: kworker/0:3 Tainted: G        W4.3.0-rc3+ #634\n[   28.013065] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.7.5-20140709_153802- 04/01/2014\n[   28.014160] Workqueue: events vmstat_update\n[   28.014571] task: ffff880117682580 ti: ffff8800ba428000 task.ti: ffff8800ba428000\n[   28.015445] RIP: 0010:[\u003cffffffff8115f921\u003e]  [\u003cffffffff8115f921\u003e]vmstat_update+0x31/0x80\n[   28.016282] RSP: 0018:ffff8800ba42fd80  EFLAGS: 00010297\n[   28.016812] RAX: 0000000000000000 RBX: ffff88011a858dc0 RCX:0000000000000000\n[   28.017585] RDX: ffff880117682580 RSI: ffffffff81f14d8c RDI:ffffffff81f4df8d\n[   28.018366] RBP: ffff8800ba42fd90 R08: 0000000000000001 R09:0000000000000000\n[   28.019169] R10: 0000000000000000 R11: 0000000000000121 R12:ffff8800baa9f640\n[   28.019947] R13: ffff88011a81e340 R14: ffff88011a823700 R15:0000000000000000\n[   28.020071] FS:  0000000000000000(0000) GS:ffff88011a800000(0000)knlGS:0000000000000000\n[   28.020071] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b\n[   28.020071] CR2: 00007ff6144b01d0 CR3: 00000000b8e93000 CR4:00000000000006f0\n[   28.020071] Stack:\n[   28.020071]  ffff88011a858dc0 ffff8800baa9f640 ffff8800ba42fe00ffffffff8106bd88\n[   28.020071]  ffffffff8106bd0b 0000000000000096 0000000000000000ffffffff82f9b1e8\n[   28.020071]  ffffffff829f0b10 0000000000000000 ffffffff81f18460ffff88011a81e340\n[   28.020071] Call Trace:\n[   28.020071]  [\u003cffffffff8106bd88\u003e] process_one_work+0x1c8/0x540\n[   28.020071]  [\u003cffffffff8106bd0b\u003e] ? process_one_work+0x14b/0x540\n[   28.020071]  [\u003cffffffff8106c214\u003e] worker_thread+0x114/0x460\n[   28.020071]  [\u003cffffffff8106c100\u003e] ? process_one_work+0x540/0x540\n[   28.020071]  [\u003cffffffff81071bf8\u003e] kthread+0xf8/0x110\n[   28.020071]  [\u003cffffffff81071b00\u003e] ?kthread_create_on_node+0x200/0x200\n[   28.020071]  [\u003cffffffff81a6522f\u003e] ret_from_fork+0x3f/0x70\n[   28.020071]  [\u003cffffffff81071b00\u003e] ?kthread_create_on_node+0x200/0x200\n\nSigned-off-by: Shaohua Li \u003cshli@fb.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: stable@vger.kernel.org # v2.6.31+\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ca71582fcfab29ec708746eab636c325b9caef15",
      "old_mode": 33188,
      "old_path": "kernel/workqueue.c",
      "new_id": "bcb14cafe007148b15edb5cfed5adc041a6d966c",
      "new_mode": 33188,
      "new_path": "kernel/workqueue.c"
    }
  ]
}
