aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/kernel-per-CPU-kthreads.txt
diff options
context:
space:
mode:
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>2014-02-12 14:12:37 -0500
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>2014-02-17 17:56:08 -0500
commitbbf393b0d5350d68dbcf1f231b8af07b1b31121d (patch)
treec0b093cd8a83024b6fa20564fa8f55b8f3f6cbe6 /Documentation/kernel-per-CPU-kthreads.txt
parent586dd56a4c17611e3927c9ff02ab8d0a6a545b38 (diff)
Documentation/kernel-per-CPU-kthreads.txt: Workqueue affinity
This commit documents the ability to apply CPU affinity to WQ_SYSFS workqueues, thus offloading them from the desired worker CPUs. Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Reviewed-by: Tejun Heo <tj@kernel.org> Acked-by: Frederic Weisbecker <fweisbec@gmail.com> Reviewed-by: Lai Jiangshan <laijs@cn.fujitsu.com> Reviewed-by: Josh Triplett <josh@joshtriplett.org>
Diffstat (limited to 'Documentation/kernel-per-CPU-kthreads.txt')
-rw-r--r--Documentation/kernel-per-CPU-kthreads.txt13
1 files changed, 12 insertions, 1 deletions
diff --git a/Documentation/kernel-per-CPU-kthreads.txt b/Documentation/kernel-per-CPU-kthreads.txt
index 827104fb9364..f3cd299fcc41 100644
--- a/Documentation/kernel-per-CPU-kthreads.txt
+++ b/Documentation/kernel-per-CPU-kthreads.txt
@@ -162,7 +162,18 @@ Purpose: Execute workqueue requests
162To reduce its OS jitter, do any of the following: 162To reduce its OS jitter, do any of the following:
1631. Run your workload at a real-time priority, which will allow 1631. Run your workload at a real-time priority, which will allow
164 preempting the kworker daemons. 164 preempting the kworker daemons.
1652. Do any of the following needed to avoid jitter that your 1652. A given workqueue can be made visible in the sysfs filesystem
166 by passing the WQ_SYSFS to that workqueue's alloc_workqueue().
167 Such a workqueue can be confined to a given subset of the
168 CPUs using the /sys/devices/virtual/workqueue/*/cpumask sysfs
169 files. The set of WQ_SYSFS workqueues can be displayed using
170 "ls sys/devices/virtual/workqueue". That said, the workqueues
171 maintainer would like to caution people against indiscriminately
172 sprinkling WQ_SYSFS across all the workqueues. The reason for
173 caution is that it is easy to add WQ_SYSFS, but because sysfs is
174 part of the formal user/kernel API, it can be nearly impossible
175 to remove it, even if its addition was a mistake.
1763. Do any of the following needed to avoid jitter that your
166 application cannot tolerate: 177 application cannot tolerate:
167 a. Build your kernel with CONFIG_SLUB=y rather than 178 a. Build your kernel with CONFIG_SLUB=y rather than
168 CONFIG_SLAB=y, thus avoiding the slab allocator's periodic 179 CONFIG_SLAB=y, thus avoiding the slab allocator's periodic