lkml.org 
[lkml]   [2016]   [Feb]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCHSET] workqueue: break local execution guarantee of unbound work items
Date
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

and available in the following git branch.

git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq.git review-rr_cpu

Documentation/kernel-parameters.txt | 11 ++++++
kernel/workqueue.c | 61 ++++++++++++++++++++++++++++++++----
lib/Kconfig.debug | 15 ++++++++
3 files changed, 81 insertions(+), 6 deletions(-)

Thanks.

--
tejun

\
 
 \ /
  Last update: 2016-02-10 00:21    [W:0.071 / U:1.748 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site