qos: wake up cores based on the qos updated cpu mask
If the qos value is increased only for a subset of cpu's aggregated qos for those cpu's is still the previous value. This is because the qos request list is maintained per request and not per cpu. In this case as there is no change in aggregated qos value, these cpu's are not wokenup to take the new qos value into effect. So wakeup cpu's even if the aggregated qos value does not change but the cpumask changes. Change-Id: If5a4a100108e85e04beb77e5249bd6c452672edf Signed-off-by: Anil Kumar Mamidala <amami@codeaurora.org>
This commit is contained in:
parent
bee274711e
commit
625eb19435
1 changed files with 5 additions and 1 deletions
|
@ -358,7 +358,11 @@ int pm_qos_update_target(struct pm_qos_constraints *c,
|
|||
spin_unlock_irqrestore(&pm_qos_lock, flags);
|
||||
|
||||
trace_pm_qos_update_target(action, prev_value, curr_value);
|
||||
if (prev_value != curr_value) {
|
||||
/*
|
||||
* if cpu mask bits are set, call the notifier call chain
|
||||
* to update the new qos restriction for the cores
|
||||
*/
|
||||
if (!cpumask_empty(&cpus)) {
|
||||
ret = 1;
|
||||
if (c->notifiers)
|
||||
blocking_notifier_call_chain(c->notifiers,
|
||||
|
|
Loading…
Add table
Reference in a new issue