diff options
author | Steve Muckle <smuckle@codeaurora.org> | 2015-04-24 17:03:31 -0700 |
---|---|---|
committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-23 20:01:56 -0700 |
commit | 652e8bc905e20d43d35f13403c89a6589b9d5866 (patch) | |
tree | 89997bfe554665dbc6ae6470cde20c9c69685f7a | |
parent | 38f3da47d7ac04be3727f65f07558da26b2d4068 (diff) |
sched: disable IRQs in update_min_max_capacity
IRQs must be disabled while locking runqueues since an
interrupt may cause a runqueue lock to be acquired.
CRs-fixed: 828598
Change-Id: Id66f2e25ed067fc4af028482db8c3abd3d10c20f
Signed-off-by: Steve Muckle <smuckle@codeaurora.org>
-rw-r--r-- | kernel/sched/core.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/kernel/sched/core.c b/kernel/sched/core.c index c38c2a05eb3d..b670bc883f91 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -2326,8 +2326,10 @@ static void __update_min_max_capacity(void) static void update_min_max_capacity(void) { + unsigned long flags; int i; + local_irq_save(flags); for_each_possible_cpu(i) raw_spin_lock(&cpu_rq(i)->lock); @@ -2335,6 +2337,7 @@ static void update_min_max_capacity(void) for_each_possible_cpu(i) raw_spin_unlock(&cpu_rq(i)->lock); + local_irq_restore(flags); } /* |