Messages in this thread Patch in this message | | | Date | Wed, 12 Feb 2014 11:02:41 -0800 | From | "Paul E. McKenney" <> | Subject | Re: [RFC PATCH] rcu: move SRCU grace period work to power efficient workqueue |
| |
On Wed, Feb 12, 2014 at 07:23:38PM +0100, Frederic Weisbecker wrote: > On Mon, Feb 10, 2014 at 10:47:29AM -0800, Paul E. McKenney wrote: > > On Mon, Feb 10, 2014 at 06:08:31PM +0800, Lai Jiangshan wrote: > > > Acked-by: Lai Jiangshan <laijs@cn.fujitsu.com> > > > > Thank you all, queued for 3.15. > > > > We should also have some facility for moving the SRCU workqueues to > > housekeeping/timekeeping kthreads in the NO_HZ_FULL case. Or does > > this patch already have that effect? > > Kevin Hilman and me plan to try to bring a new Kconfig option that could let > us control the unbound workqueues affinity through sysfs.
Please CC me or feel free to update Documentation/kernel-per-CPU-kthreads.txt as part of this upcoming series.
> The feature actually exist currently but is only enabled for workqueues that > have WQ_SYSFS. Writeback and raid5 are the only current users. > > See for example: /sys/devices/virtual/workqueue/writeback/cpumask
Ah, news to me! I have queued the following patch, seem reasonable?
Thanx, Paul
------------------------------------------------------------------------
diff --git a/Documentation/kernel-per-CPU-kthreads.txt b/Documentation/kernel-per-CPU-kthreads.txt index 827104fb9364..09f28841ee3e 100644 --- a/Documentation/kernel-per-CPU-kthreads.txt +++ b/Documentation/kernel-per-CPU-kthreads.txt @@ -162,7 +162,11 @@ Purpose: Execute workqueue requests To reduce its OS jitter, do any of the following: 1. Run your workload at a real-time priority, which will allow preempting the kworker daemons. -2. Do any of the following needed to avoid jitter that your +2. Use the /sys/devices/virtual/workqueue/*/cpumask sysfs files + to force the WQ_SYSFS workqueues to run on the specified set + of CPUs. The set of WQ_SYSFS workqueues can be displayed using + "ls sys/devices/virtual/workqueue". +3. Do any of the following needed to avoid jitter that your application cannot tolerate: a. Build your kernel with CONFIG_SLUB=y rather than CONFIG_SLAB=y, thus avoiding the slab allocator's periodic
| |