summaryrefslogtreecommitdiff
path: root/kernel/sched/topology.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/sched/topology.c')
-rw-r--r--kernel/sched/topology.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/kernel/sched/topology.c b/kernel/sched/topology.c
index dfb64c08a407..62197de5b4d3 100644
--- a/kernel/sched/topology.c
+++ b/kernel/sched/topology.c
@@ -3,6 +3,7 @@
* Scheduler topology setup/handling methods
*/
#include "sched.h"
+#include "linux/sched/deadline.h"
DEFINE_MUTEX(sched_domains_mutex);
@@ -442,7 +443,11 @@ void rq_attach_root(struct rq *rq, struct root_domain *rd)
struct root_domain *old_rd = NULL;
unsigned long flags;
+#ifdef CONFIG_SCHED_MUQSS
+ raw_spin_lock_irqsave(rq->lock, flags);
+#else
raw_spin_lock_irqsave(&rq->lock, flags);
+#endif
if (rq->rd) {
old_rd = rq->rd;
@@ -468,7 +473,11 @@ void rq_attach_root(struct rq *rq, struct root_domain *rd)
if (cpumask_test_cpu(rq->cpu, cpu_active_mask))
set_rq_online(rq);
+#ifdef CONFIG_SCHED_MUQSS
+ raw_spin_unlock_irqrestore(rq->lock, flags);
+#else
raw_spin_unlock_irqrestore(&rq->lock, flags);
+#endif
if (old_rd)
call_rcu(&old_rd->rcu, free_rootdomain);