summaryrefslogtreecommitdiff
path: root/kernel/sched/topology.c
diff options
context:
space:
mode:
authorCon Kolivas <kernel@kolivas.org>2019-10-25 14:00:52 +1100
committerCon Kolivas <kernel@kolivas.org>2019-11-26 16:14:51 +1100
commit7acac2e4000e75f3349106a8847cf1021651446b (patch)
treed74553e460b55f1efdc75efc265f46c1889535d9 /kernel/sched/topology.c
parent219d54332a09e8d8741c1e1982f5eae56099de85 (diff)
MultiQueue Skiplist Scheduler v0.196.5.4-muqss-196
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 49b835f1305f..0253ea846c0d 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);