diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-07-02 22:53:30 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-07-02 22:53:30 -0400 |
commit | f317ff9eed763e99bd226a447f93d42509434f43 (patch) | |
tree | d77edfcdb1e7c32c30327f50dce04bcff8ec1531 /Documentation | |
parent | 13cc56013842a847a0f6ff805d9ed9181e753ef8 (diff) | |
parent | a85f1a41f020bc2c97611060bcfae6f48a1db28d (diff) |
Merge branch 'for-3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq
Pull workqueue changes from Tejun Heo:
"Surprisingly, Lai and I didn't break too many things implementing
custom pools and stuff last time around and there aren't any follow-up
changes necessary at this point.
The only change in this pull request is Viresh's patches to make some
per-cpu workqueues to behave as unbound workqueues dependent on a boot
param whose default can be configured via a config option. This leads
to higher processing overhead / lower bandwidth as more work items are
bounced across CPUs; however, it can lead to noticeable powersave in
certain configurations - ~10% w/ idlish constant workload on a
big.LITTLE configuration according to Viresh.
This is because per-cpu workqueues interfere with how the scheduler
perceives whether or not each CPU is idle by forcing pinned tasks on
them, which makes the scheduler's power-aware scheduling decisions
less effective.
Its effectiveness is likely less pronounced on homogenous
configurations and this type of optimization can probably be made
automatic; however, the changes are pretty minimal and the affected
workqueues are clearly marked, so it's an easy gain for some
configurations for the time being with pretty unintrusive changes."
* 'for-3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
fbcon: queue work on power efficient wq
block: queue work on power efficient wq
PHYLIB: queue work on system_power_efficient_wq
workqueue: Add system wide power_efficient workqueues
workqueues: Introduce new flag WQ_POWER_EFFICIENT for power oriented workqueues
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/kernel-parameters.txt | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index 2fe6e767b3d6..81732b8abd3a 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt | |||
@@ -3341,6 +3341,21 @@ bytes respectively. Such letter suffixes can also be entirely omitted. | |||
3341 | that this also can be controlled per-workqueue for | 3341 | that this also can be controlled per-workqueue for |
3342 | workqueues visible under /sys/bus/workqueue/. | 3342 | workqueues visible under /sys/bus/workqueue/. |
3343 | 3343 | ||
3344 | workqueue.power_efficient | ||
3345 | Per-cpu workqueues are generally preferred because | ||
3346 | they show better performance thanks to cache | ||
3347 | locality; unfortunately, per-cpu workqueues tend to | ||
3348 | be more power hungry than unbound workqueues. | ||
3349 | |||
3350 | Enabling this makes the per-cpu workqueues which | ||
3351 | were observed to contribute significantly to power | ||
3352 | consumption unbound, leading to measurably lower | ||
3353 | power usage at the cost of small performance | ||
3354 | overhead. | ||
3355 | |||
3356 | The default value of this parameter is determined by | ||
3357 | the config option CONFIG_WQ_POWER_EFFICIENT_DEFAULT. | ||
3358 | |||
3344 | x2apic_phys [X86-64,APIC] Use x2apic physical mode instead of | 3359 | x2apic_phys [X86-64,APIC] Use x2apic physical mode instead of |
3345 | default x2apic cluster mode on platforms | 3360 | default x2apic cluster mode on platforms |
3346 | supporting x2apic. | 3361 | supporting x2apic. |