core_ctl: Handle only CPU_ONLINE and CPU_DEAD notifications
We are interested in only CPU_ONLINE and CPU_DEAD notifications. Don't do anything when other notifications arrive. Change-Id: Iea2e0e1c93e67ef278ee7c5a9813fbab6cea5c74 Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
This commit is contained in:
parent
a76d9370e8
commit
d0b971c53d
1 changed files with 4 additions and 3 deletions
|
@ -887,10 +887,9 @@ static int __ref cpu_callback(struct notifier_block *nfb,
|
||||||
struct cpu_data *state = &per_cpu(cpu_state, cpu);
|
struct cpu_data *state = &per_cpu(cpu_state, cpu);
|
||||||
struct cluster_data *cluster = state->cluster;
|
struct cluster_data *cluster = state->cluster;
|
||||||
unsigned int need;
|
unsigned int need;
|
||||||
int ret = NOTIFY_OK;
|
|
||||||
|
|
||||||
if (unlikely(!cluster || !cluster->inited))
|
if (unlikely(!cluster || !cluster->inited))
|
||||||
return NOTIFY_OK;
|
return NOTIFY_DONE;
|
||||||
|
|
||||||
switch (action & ~CPU_TASKS_FROZEN) {
|
switch (action & ~CPU_TASKS_FROZEN) {
|
||||||
case CPU_ONLINE:
|
case CPU_ONLINE:
|
||||||
|
@ -921,13 +920,15 @@ static int __ref cpu_callback(struct notifier_block *nfb,
|
||||||
state->busy = 0;
|
state->busy = 0;
|
||||||
cluster->active_cpus = get_active_cpu_count(cluster);
|
cluster->active_cpus = get_active_cpu_count(cluster);
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
return NOTIFY_DONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
need = apply_limits(cluster, cluster->need_cpus);
|
need = apply_limits(cluster, cluster->need_cpus);
|
||||||
if (adjustment_possible(cluster, need))
|
if (adjustment_possible(cluster, need))
|
||||||
wake_up_core_ctl_thread(cluster);
|
wake_up_core_ctl_thread(cluster);
|
||||||
|
|
||||||
return ret;
|
return NOTIFY_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct notifier_block __refdata cpu_notifier = {
|
static struct notifier_block __refdata cpu_notifier = {
|
||||||
|
|
Loading…
Add table
Reference in a new issue