Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0e0cafcd authored by Alexei Potashnik's avatar Alexei Potashnik Committed by Tejun Heo
Browse files

workqueue: doc change for ST behavior on NUMA systems



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: default avatarAlexei Potashnik <alexei@purestorage.com>
Signed-off-by: default avatarTejun Heo <tj@kernel.org>
parent bef85bd7
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -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
===========================