Re: [PATCHSET] workqueue: break local execution guarantee of unbound work items

From: Jiri Slaby
Date: Wed Feb 10 2016 - 03:02:10 EST


On 02/10/2016, 12:14 AM, Tejun Heo wrote:
> Hello,
>
> Workqueue used to implicitly guarantee local execution of unbound work
> items. Recent timer updates broke that for delayed work items and the
> attempt to restore it ended up causing more harm than good. It has
> been decided to take the chance and officially break it.
>
> This patchset reverts 874bbfe600a6 ("workqueue: make sure delayed work
> run in local cpu"), expands wq_unbound_cpu_mask so that it also
> applies to unbound work items queued on percpu workqueues, and
> implements a debug feature which forces wq_unbound_cpu_mask based
> round-robin selection to flush out usages which depend on the local
> execution guarantee.
>
> I'll push the patchset through wq/for-4.5-fixes soon.
>
> The patchset contains the following three patches.
>
> 0001-Revert-workqueue-make-sure-delayed-work-run-in-local.patch
> 0002-workqueue-schedule-WORK_CPU_UNBOUND-work-on-wq_unbou.patch
> 0003-workqueue-implement-workqueue.debug_force_rr_cpu-deb.patch

Thanks all for sorting the issue out. Now it remains to decide what
should go to stable. Given only 0001 is marked as "Fixes", is that enough?

And what about the vmstat fix:
commit 176bed1de5bf977938cad26551969eca8f0883b1
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Thu Oct 15 13:01:50 2015 -0700

vmstat: explicitly schedule per-cpu work on the CPU we need it to run on

? It should fix better than what 0001 is reverting AFAIU, right?

thanks,
--
js
suse labs