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:
Anil Kumar Mamidala 2016-03-23 20:44:18 +05:30 committed by Gerrit - the friendly Code Review server
parent 1a0c120d47
commit 04d0a36e27
1 changed files with 5 additions and 1 deletions

View File

@ -246,7 +246,11 @@ int pm_qos_update_target(struct pm_qos_constraints *c,
spin_unlock_irqrestore(&pm_qos_lock, flags);
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)) {
blocking_notifier_call_chain(c->notifiers,
(unsigned long)curr_value,
&cpus);