linux_old1/kernel/power
Viresh Kumar cee22a1505 workqueues: Introduce new flag WQ_POWER_EFFICIENT for power oriented workqueues
Workqueues can be performance or power-oriented. Currently, most workqueues are
bound to the CPU they were created on. This gives good performance (due to cache
effects) at the cost of potentially waking up otherwise idle cores (Idle from
scheduler's perspective. Which may or may not be physically idle) just to
process some work. To save power, we can allow the work to be rescheduled on a
core that is already awake.

Workqueues created with the WQ_UNBOUND flag will allow some power savings.
However, we don't change the default behaviour of the system.  To enable
power-saving behaviour, a new config option CONFIG_WQ_POWER_EFFICIENT needs to
be turned on. This option can also be overridden by the
workqueue.power_efficient boot parameter.

tj: Updated config description and comments.  Renamed
    CONFIG_WQ_POWER_EFFICIENT to CONFIG_WQ_POWER_EFFICIENT_DEFAULT.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Amit Kucheria <amit.kucheria@linaro.org>
Signed-off-by: Tejun Heo <tj@kernel.org>
2013-05-14 10:50:06 -07:00
..
Kconfig workqueues: Introduce new flag WQ_POWER_EFFICIENT for power oriented workqueues 2013-05-14 10:50:06 -07:00
Makefile PM / Sleep: Add user space interface for manipulating wakeup sources, v3 2012-05-01 21:26:05 +02:00
autosleep.c PM: don't use [delayed_]work_pending() 2013-01-26 00:39:11 +01:00
block_io.c block: kill off REQ_UNPLUG 2011-03-10 08:52:27 +01:00
console.c PM: make VT switching to the suspend console optional v3 2013-02-20 01:33:41 +01:00
hibernate.c Power management updates for 3.6 2012-07-22 13:36:52 -07:00
main.c suspend: enable freeze timeout configuration through sys 2013-02-09 22:32:48 +01:00
power.h PM / Hibernate: Enable suspend to both for in-kernel hibernation. 2012-07-01 13:31:22 +02:00
poweroff.c power/sysrq: fix inconstistent help message of sysrq key 2013-04-30 17:04:10 -07:00
process.c suspend: enable freeze timeout configuration through sys 2013-02-09 22:32:48 +01:00
qos.c PM: don't use [delayed_]work_pending() 2013-01-26 00:39:11 +01:00
snapshot.c Power management updates for 3.4 2012-03-21 10:15:51 -07:00
suspend.c PM / sleep: invalidate TEST_CPUS and TEST_CORE support for freeze state 2013-04-05 14:18:25 +02:00
suspend_test.c driver-core: constify data for class_find_device() 2013-02-06 12:18:56 -08:00
swap.c PM / Hibernate: use rb_entry 2012-11-15 00:37:08 +01:00
user.c Make wait_for_device_probe() also do scsi_complete_async_scans() 2012-07-18 18:15:46 -07:00
wakelock.c PM / Sleep: Require CAP_BLOCK_SUSPEND to use wake_lock/wake_unlock 2012-07-19 00:00:58 +02:00