diff options
author | Alexei Potashnik <alexei@purestorage.com> | 2017-07-18 14:12:53 -0400 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2017-07-18 14:34:53 -0400 |
commit | 0e0cafcda83951bb0b438d78a4216ae94483cba6 (patch) | |
tree | 8cac8a0a29c1577cd026e45b0b39b55ec225edc0 | |
parent | bef85bd7db2669291e33c59875fae33d24c11da3 (diff) |
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: Alexei Potashnik <alexei@purestorage.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
-rw-r--r-- | Documentation/core-api/workqueue.rst | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/Documentation/core-api/workqueue.rst b/Documentation/core-api/workqueue.rst index ffdec94fbca1..3943b5bfa8cf 100644 --- a/Documentation/core-api/workqueue.rst +++ b/Documentation/core-api/workqueue.rst | |||
@@ -243,11 +243,15 @@ throttling the number of active work items, specifying '0' is | |||
243 | recommended. | 243 | recommended. |
244 | 244 | ||
245 | Some users depend on the strict execution ordering of ST wq. The | 245 | Some users depend on the strict execution ordering of ST wq. The |
246 | combination of ``@max_active`` of 1 and ``WQ_UNBOUND`` is used to | 246 | combination of ``@max_active`` of 1 and ``WQ_UNBOUND`` used to |
247 | achieve this behavior. Work items on such wq are always queued to the | 247 | achieve this behavior. Work items on such wq were always queued to the |
248 | unbound worker-pools and only one work item can be active at any given | 248 | unbound worker-pools and only one work item could be active at any given |
249 | time thus achieving the same ordering property as ST wq. | 249 | time thus achieving the same ordering property as ST wq. |
250 | 250 | ||
251 | In the current implementation the above configuration only guarantees | ||
252 | ST behavior within a given NUMA node. Instead alloc_ordered_queue should | ||
253 | be used to achieve system wide ST behavior. | ||
254 | |||
251 | 255 | ||
252 | Example Execution Scenarios | 256 | Example Execution Scenarios |
253 | =========================== | 257 | =========================== |