mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 06:44:00 -04:00
docs: workqueue: document WQ_AFFN_CACHE_SHARD affinity scope
Update kernel-parameters.txt and workqueue.rst to reflect the new cache_shard affinity scope and the default change from cache to cache_shard. Signed-off-by: Breno Leitao <leitao@debian.org> Signed-off-by: Tejun Heo <tj@kernel.org>
This commit is contained in:
@@ -8519,7 +8519,8 @@ Kernel parameters
|
||||
workqueue.default_affinity_scope=
|
||||
Select the default affinity scope to use for unbound
|
||||
workqueues. Can be one of "cpu", "smt", "cache",
|
||||
"numa" and "system". Default is "cache". For more
|
||||
"cache_shard", "numa" and "system". Default is
|
||||
"cache_shard". For more
|
||||
information, see the Affinity Scopes section in
|
||||
Documentation/core-api/workqueue.rst.
|
||||
|
||||
|
||||
@@ -378,9 +378,9 @@ Affinity Scopes
|
||||
|
||||
An unbound workqueue groups CPUs according to its affinity scope to improve
|
||||
cache locality. For example, if a workqueue is using the default affinity
|
||||
scope of "cache", it will group CPUs according to last level cache
|
||||
boundaries. A work item queued on the workqueue will be assigned to a worker
|
||||
on one of the CPUs which share the last level cache with the issuing CPU.
|
||||
scope of "cache_shard", it will group CPUs into sub-LLC shards. A work item
|
||||
queued on the workqueue will be assigned to a worker on one of the CPUs
|
||||
within the same shard as the issuing CPU.
|
||||
Once started, the worker may or may not be allowed to move outside the scope
|
||||
depending on the ``affinity_strict`` setting of the scope.
|
||||
|
||||
@@ -402,7 +402,13 @@ Workqueue currently supports the following affinity scopes.
|
||||
``cache``
|
||||
CPUs are grouped according to cache boundaries. Which specific cache
|
||||
boundary is used is determined by the arch code. L3 is used in a lot of
|
||||
cases. This is the default affinity scope.
|
||||
cases.
|
||||
|
||||
``cache_shard``
|
||||
CPUs are grouped into sub-LLC shards of at most ``wq_cache_shard_size``
|
||||
cores (default 8, tunable via the ``workqueue.cache_shard_size`` boot
|
||||
parameter). Shards are always split on core (SMT group) boundaries.
|
||||
This is the default affinity scope.
|
||||
|
||||
``numa``
|
||||
CPUs are grouped according to NUMA boundaries.
|
||||
|
||||
Reference in New Issue
Block a user