Re: [PATCH] workqueue: make sure delayed work run in local cpu

From: Tejun Heo
Date: Wed Sep 30 2015 - 13:13:31 EST


On Wed, Sep 30, 2015 at 09:05:30AM -0700, Shaohua Li wrote:
> My system keeps crash with below message. vmstat_update() schedules a delayed
> work in current cpu and expects the work runs in the cpu.
> schedule_delayed_work() is expected to make delayed work run in local cpu. The
> problem is timer can be migrated with NO_HZ. __queue_work() queues work in
> timer handler, which could run in a different cpu other than where the delayed
> work is scheduled. The end result is the delayed work runs in different cpu.
> The patch makes __queue_delayed_work records local cpu earlier. Where the timer
> runs doesn't change where the work runs with the change.
>
...
> Signed-off-by: Shaohua Li <shli@xxxxxx>

This has been broken since 09. No idea why it wasn't triggering
before. Maybe the timer wasn't actually being migrated?

Applied to wq/for-4.3-fixes w/ stable tag added.

Thanks.

--
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/