summaryrefslogtreecommitdiff
path: root/kernel/power
diff options
context:
space:
mode:
authorAlex Frid <afrid@nvidia.com>2011-12-16 13:44:23 -0800
committerDan Willemsen <dwillemsen@nvidia.com>2013-09-14 01:32:59 -0700
commitff58d52e3016f23cfe9fb4059de1b95961f836a6 (patch)
treea72a4d86b33bc40122382eb3c13fab5f7a02ab4c /kernel/power
parent6bd3f7e3672575a264e1ab00c7766670ea2debee (diff)
PM QoS: Add max online cpus as PM QoS parameter
Bug 894200 Change-Id: Ieb009a13c6ef9bca2388e234eb973d65a4e3a58b Signed-off-by: Alex Frid <afrid@nvidia.com> Reviewed-on: http://git-master/r/71034 Reviewed-by: Rohan Somvanshi <rsomvanshi@nvidia.com> Tested-by: Rohan Somvanshi <rsomvanshi@nvidia.com> Rebase-Id: R5791d3cb0bb66f3b8079f5a8af5fa758fb3c6705
Diffstat (limited to 'kernel/power')
-rw-r--r--kernel/power/qos.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/kernel/power/qos.c b/kernel/power/qos.c
index 25cf89bc659e..37b9a69cb4b6 100644
--- a/kernel/power/qos.c
+++ b/kernel/power/qos.c
@@ -100,12 +100,27 @@ static struct pm_qos_object network_throughput_pm_qos = {
.name = "network_throughput",
};
+static BLOCKING_NOTIFIER_HEAD(max_online_cpus_notifier);
+static struct pm_qos_constraints max_online_cpus_constraints = {
+ .list = PLIST_HEAD_INIT(max_online_cpus_constraints.list),
+ .target_value = PM_QOS_MAX_ONLINE_CPUS_DEFAULT_VALUE,
+ .default_value = PM_QOS_MAX_ONLINE_CPUS_DEFAULT_VALUE,
+ .type = PM_QOS_MIN,
+ .notifiers = &max_online_cpus_notifier,
+};
+static struct pm_qos_object max_online_cpus_pm_qos = {
+ .constraints = &max_online_cpus_constraints,
+ .name = "max_online_cpus",
+
+};
+
static struct pm_qos_object *pm_qos_array[] = {
&null_pm_qos,
&cpu_dma_pm_qos,
&network_lat_pm_qos,
- &network_throughput_pm_qos
+ &network_throughput_pm_qos,
+ &max_online_cpus_pm_qos
};
static ssize_t pm_qos_power_write(struct file *filp, const char __user *buf,