Skip to content

Commit

Permalink
workqueue: doc change for ST behavior on NUMA systems
Browse files Browse the repository at this point in the history
NUMA rework of workqueue made the combination of max_active of 1 and
WQ_UNBOUND insufficient to guarantee ST behavior system wide.

alloc_ordered_queue should now be used instead.

Signed-off-by: Alexei Potashnik <alexei@purestorage.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
  • Loading branch information
Alexei Potashnik authored and Tejun Heo committed Jul 18, 2017
1 parent bef85bd commit 0e0cafc
Showing 1 changed file with 7 additions and 3 deletions.
10 changes: 7 additions & 3 deletions Documentation/core-api/workqueue.rst
Original file line number Diff line number Diff line change
Expand Up @@ -243,11 +243,15 @@ throttling the number of active work items, specifying '0' is
recommended.

Some users depend on the strict execution ordering of ST wq. The
combination of ``@max_active`` of 1 and ``WQ_UNBOUND`` is used to
achieve this behavior. Work items on such wq are always queued to the
unbound worker-pools and only one work item can be active at any given
combination of ``@max_active`` of 1 and ``WQ_UNBOUND`` used to
achieve this behavior. Work items on such wq were always queued to the
unbound worker-pools and only one work item could be active at any given
time thus achieving the same ordering property as ST wq.

In the current implementation the above configuration only guarantees
ST behavior within a given NUMA node. Instead alloc_ordered_queue should
be used to achieve system wide ST behavior.


Example Execution Scenarios
===========================
Expand Down

0 comments on commit 0e0cafc

Please sign in to comment.