From: Preeti U Murthy <preeti@linux.vnet.ibm.com>
To: alex.shi@intel.com, vincent.guittot@linaro.org,
peterz@infradead.org, pjt@google.com, efault@gmx.de,
rjw@rjwysocki.net, morten.rasmussen@arm.com,
svaidy@linux.vnet.ibm.com, arjan@linux.intel.com,
mingo@kernel.org
Cc: nicolas.pitre@linaro.org, len.brown@intel.com,
yuyang.du@intel.com, linaro-kernel@lists.linaro.org,
daniel.lezcano@linaro.org, corbet@lwn.net,
catalin.marinas@arm.com, markgross@thegnar.org,
sundar.iyer@intel.com, linux-kernel@vger.kernel.org,
dietmar.eggemann@arm.com, Lorenzo.Pieralisi@arm.com,
mike.turquette@linaro.org, akpm@linux-foundation.org,
paulmck@linux.vnet.ibm.com, tglx@linutronix.de
Subject: [RFC PATCH V2 01/19] sched/power: Remove cpu idle state selection and cpu frequency tuning
Date: Mon, 11 Aug 2014 17:02:25 +0530 [thread overview]
Message-ID: <20140811113145.31956.32224.stgit@preeti.in.ibm.com> (raw)
In-Reply-To: <20140811113000.31956.52857.stgit@preeti.in.ibm.com>
As a first step towards improving the power awareness of the scheduler,
this patch enables a "dumb" state where all power management is turned off.
Whatever additionally we put into the kernel for cpu power management must
do better than this in terms of performance as well as powersavings.
This will enable us to benchmark and optimize the power aware scheduler
from scratch.If we are to benchmark it against the performance of the
existing design, we will get sufficiently distracted by the performance
numbers and get steered away from a sane design.
Signed-off-by: Preeti U Murthy <preeti@linux.vnet.ibm.com>
---
arch/powerpc/Kconfig | 1 +
arch/powerpc/platforms/powernv/Kconfig | 12 ++++++------
drivers/cpufreq/Kconfig | 2 ++
drivers/cpuidle/Kconfig | 2 ++
kernel/Kconfig.sched | 11 +++++++++++
5 files changed, 22 insertions(+), 6 deletions(-)
create mode 100644 kernel/Kconfig.sched
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 80b94b0..b7fe36a 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -301,6 +301,7 @@ config HIGHMEM
source kernel/Kconfig.hz
source kernel/Kconfig.preempt
+source kernel/Kconfig.sched
source "fs/Kconfig.binfmt"
config HUGETLB_PAGE_SIZE_VARIABLE
diff --git a/arch/powerpc/platforms/powernv/Kconfig b/arch/powerpc/platforms/powernv/Kconfig
index 45a8ed0..b0ef8b1 100644
--- a/arch/powerpc/platforms/powernv/Kconfig
+++ b/arch/powerpc/platforms/powernv/Kconfig
@@ -11,12 +11,12 @@ config PPC_POWERNV
select PPC_UDBG_16550
select PPC_SCOM
select ARCH_RANDOM
- select CPU_FREQ
- select CPU_FREQ_GOV_PERFORMANCE
- select CPU_FREQ_GOV_POWERSAVE
- select CPU_FREQ_GOV_USERSPACE
- select CPU_FREQ_GOV_ONDEMAND
- select CPU_FREQ_GOV_CONSERVATIVE
+ select CPU_FREQ if !SCHED_POWER
+ select CPU_FREQ_GOV_PERFORMANCE if CPU_FREQ
+ select CPU_FREQ_GOV_POWERSAVE if CPU_FREQ
+ select CPU_FREQ_GOV_USERSPACE if CPU_FREQ
+ select CPU_FREQ_GOV_ONDEMAND if CPU_FREQ
+ select CPU_FREQ_GOV_CONSERVATIVE if CPU_FREQ
select PPC_DOORBELL
default y
diff --git a/drivers/cpufreq/Kconfig b/drivers/cpufreq/Kconfig
index ffe350f..8976fd6 100644
--- a/drivers/cpufreq/Kconfig
+++ b/drivers/cpufreq/Kconfig
@@ -2,6 +2,7 @@ menu "CPU Frequency scaling"
config CPU_FREQ
bool "CPU Frequency scaling"
+ depends on !SCHED_POWER
help
CPU Frequency scaling allows you to change the clock speed of
CPUs on the fly. This is a nice method to save power, because
@@ -12,6 +13,7 @@ config CPU_FREQ
(see below) after boot, or use a userspace tool.
For details, take a look at <file:Documentation/cpu-freq>.
+ This feature will turn off if power aware scheduling is enabled.
If in doubt, say N.
diff --git a/drivers/cpuidle/Kconfig b/drivers/cpuidle/Kconfig
index 32748c3..2c4ac79 100644
--- a/drivers/cpuidle/Kconfig
+++ b/drivers/cpuidle/Kconfig
@@ -3,6 +3,7 @@ menu "CPU Idle"
config CPU_IDLE
bool "CPU idle PM support"
default y if ACPI || PPC_PSERIES
+ depends on !SCHED_POWER
select CPU_IDLE_GOV_LADDER if (!NO_HZ && !NO_HZ_IDLE)
select CPU_IDLE_GOV_MENU if (NO_HZ || NO_HZ_IDLE)
help
@@ -11,6 +12,7 @@ config CPU_IDLE
governors that can be swapped during runtime.
If you're using an ACPI-enabled platform, you should say Y here.
+ This feature will turn off if power aware scheduling is enabled.
if CPU_IDLE
diff --git a/kernel/Kconfig.sched b/kernel/Kconfig.sched
new file mode 100644
index 0000000..374454c
--- /dev/null
+++ b/kernel/Kconfig.sched
@@ -0,0 +1,11 @@
+menu "Power Aware Scheduling"
+
+config SCHED_POWER
+ bool "Power Aware Scheduler"
+ default n
+ help
+ Select this to enable the new power aware scheduler.
+endmenu
+
+
+
next prev parent reply other threads:[~2014-08-11 11:32 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-11 11:31 [RFC PATCH V2 00/19] Power Scheduler Design Preeti U Murthy
2014-08-11 11:32 ` Preeti U Murthy [this message]
2014-08-18 15:39 ` [RFC PATCH V2 01/19] sched/power: Remove cpu idle state selection and cpu frequency tuning Nicolas Pitre
2014-08-18 17:26 ` Preeti U Murthy
2014-08-18 17:53 ` Nicolas Pitre
2014-08-11 11:33 ` [RFC PATCH V2 02/19] sched/power: Move idle state selection into the scheduler Preeti U Murthy
2014-08-18 15:54 ` Nicolas Pitre
2014-08-18 17:19 ` Preeti U Murthy
2014-08-18 18:25 ` Nicolas Pitre
2014-08-11 11:33 ` [RFC PATCH V2 03/19] sched/idle: Enumerate idle states in scheduler topology Preeti U Murthy
2014-08-11 11:34 ` [RFC PATCH V2 04/19] sched: add sched balance policies in kernel Preeti U Murthy
2014-08-11 11:34 ` [RFC PATCH V2 05/19] sched: add sysfs interface for sched_balance_policy selection Preeti U Murthy
2014-08-11 11:35 ` [RFC PATCH V2 06/19] sched: log the cpu utilization at rq Preeti U Murthy
2014-08-11 11:35 ` [RFC PATCH V2 07/19] sched: add new sg/sd_lb_stats fields for incoming fork/exec/wake balancing Preeti U Murthy
2014-08-11 11:36 ` [RFC PATCH V2 08/19] sched: move sg/sd_lb_stats struct ahead Preeti U Murthy
2014-08-11 11:36 ` [RFC PATCH V2 09/19] sched: get rq potential maximum utilization Preeti U Murthy
2014-08-11 11:37 ` [RFC PATCH V2 10/19] sched: detect wakeup burst with rq->avg_idle Preeti U Murthy
2014-08-11 11:38 ` [RFC PATCH V2 11/19] sched: add power aware scheduling in fork/exec/wake Preeti U Murthy
2014-08-11 11:38 ` [RFC PATCH V2 12/19] sched: using avg_idle to detect bursty wakeup Preeti U Murthy
2014-08-11 11:39 ` [RFC PATCH V2 13/19] sched: packing transitory tasks in wakeup power balancing Preeti U Murthy
2014-08-11 11:39 ` [RFC PATCH V2 14/19] sched: add power/performance balance allow flag Preeti U Murthy
2014-08-11 11:40 ` [RFC PATCH V2 15/19] sched: pull all tasks from source grp and no balance for prefer_sibling Preeti U Murthy
2014-08-11 11:41 ` [RFC PATCH V2 16/19] sched: add new members of sd_lb_stats Preeti U Murthy
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140811113145.31956.32224.stgit@preeti.in.ibm.com \
--to=preeti@linux.vnet.ibm.com \
--cc=Lorenzo.Pieralisi@arm.com \
--cc=akpm@linux-foundation.org \
--cc=alex.shi@intel.com \
--cc=arjan@linux.intel.com \
--cc=catalin.marinas@arm.com \
--cc=corbet@lwn.net \
--cc=daniel.lezcano@linaro.org \
--cc=dietmar.eggemann@arm.com \
--cc=efault@gmx.de \
--cc=len.brown@intel.com \
--cc=linaro-kernel@lists.linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=markgross@thegnar.org \
--cc=mike.turquette@linaro.org \
--cc=mingo@kernel.org \
--cc=morten.rasmussen@arm.com \
--cc=nicolas.pitre@linaro.org \
--cc=paulmck@linux.vnet.ibm.com \
--cc=peterz@infradead.org \
--cc=pjt@google.com \
--cc=rjw@rjwysocki.net \
--cc=sundar.iyer@intel.com \
--cc=svaidy@linux.vnet.ibm.com \
--cc=tglx@linutronix.de \
--cc=vincent.guittot@linaro.org \
--cc=yuyang.du@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®