[RFC PATCH v1 0/2] sched: unified sched_powersavings tunables
From: Vaidyanathan Srinivasan
Date: Mon Jan 16 2012 - 11:22:44 EST
Hi,
I have created the following RFC patch based on the recent discussions
and consensus on simplifying the power aware scheduler in the kernel.
Ref: LWN: Rethinking power-aware scheduling
http://lwn.net/Articles/474915/
The goal of the unified tunable are as follows:
* Simple and single tunable for different (all) topology
* Good default powersavings for kernel
* Potential to map this setting to other subsystems like cpufreq and
cpuidle
What this patch does: (first step)
* Create a single sched_powersavings tunable in sysfs
* Enable current sched_mc and sched_smt features based on
value of this single tunable
What this patch is yet to do:
* Tune the default power savings to pack packages only till
a threshold of say 50%
* Add notifiers to change setting on battery/AC transitions
* Feed the thresholds from arch specific code so that different archs
can do 'optimal' packing based on topology
* May be move this to /sys/device/system/powersavings and add additional
platform tunables like x86_energy_perf_policy?
This RFC has only x86 changes and has been tested on dual-socket,
quad-core,HT configuration.
Please let me know your comments and feedback.
Thanks,
Vaidy
---
Vaidyanathan Srinivasan (2):
sched: unified sched_powersavings sysfs tunable
sched: fix group_capacity for thread level consolidation
arch/x86/Kconfig | 20 ++++--------
arch/x86/kernel/smpboot.c | 2 +
block/blk.h | 11 ++++---
drivers/base/cpu.c | 2 +
include/linux/sched.h | 29 +++++++++--------
include/linux/topology.h | 9 +----
kernel/sched/core.c | 75 +++++++++++----------------------------------
kernel/sched/fair.c | 38 ++++++++++++++++-------
8 files changed, 77 insertions(+), 109 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/