sched: unified sched_powersavings tunables
From: | Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com> | |
To: | Vincent Guittot <vincent.guittot@linaro.org>, Peter Zijlstra <a.p.zijlstra@chello.nl>, Indan Zupancic <indan@nul.nu>, Youquan Song <youquan.song@intel.com>, Ingo Molnar <mingo@elte.hu>, Arjan van de Ven <arjan@linux.intel.com>, Suresh Siddha <suresh.b.siddha@intel.com> | |
Subject: | [RFC PATCH v1 0/2] sched: unified sched_powersavings tunables | |
Date: | Mon, 16 Jan 2012 21:52:26 +0530 | |
Message-ID: | <20120116161740.29759.4679.stgit@localhost> | |
Cc: | Linux Kernel <linux-kernel@vger.kernel.org> | |
Archive‑link: | Article |
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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/