diff options
author | Waiman Long <longman@redhat.com> | 2024-02-08 14:12:20 -0500 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2024-02-08 09:22:49 -1000 |
commit | 4c065dbce1e8639546ef3612acffb062dd084cfe (patch) | |
tree | d1450c1fe0bbee488136756b0728897dc75fc3a1 /include/linux/workqueue.h | |
parent | 26fb7e3dda4c16e2cfe2164a1e7315a9386602db (diff) |
workqueue: Enable unbound cpumask update on ordered workqueues
Ordered workqueues does not currently follow changes made to the
global unbound cpumask because per-pool workqueue changes may break
the ordering guarantee. IOW, a work function in an ordered workqueue
may run on an isolated CPU.
This patch enables ordered workqueues to follow changes made to the
global unbound cpumask by temporaily plug or suspend the newly allocated
pool_workqueue from executing newly queued work items until the old
pwq has been properly drained. For ordered workqueues, there should
only be one pwq that is unplugged, the rests should be plugged.
This enables ordered workqueues to follow the unbound cpumask changes
like other unbound workqueues at the expense of some delay in execution
of work functions during the transition period.
Signed-off-by: Waiman Long <longman@redhat.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'include/linux/workqueue.h')
0 files changed, 0 insertions, 0 deletions