summaryrefslogtreecommitdiff
path: root/kernel/sched/cpufreq_schedutil.c
diff options
context:
space:
mode:
authorCon Kolivas <kernel@kolivas.org>2019-10-25 14:00:52 +1100
committerCon Kolivas <kernel@kolivas.org>2020-06-09 18:28:54 +1000
commit865f9eb66384311dc3bb6c79cfd34d841f6e0b18 (patch)
tree497d07aeeecba240fda40e430e2178a4e5ae39e2 /kernel/sched/cpufreq_schedutil.c
parent3d77e6a8804abcc0504c904bd6e5cdf3a5cf8162 (diff)
MultiQueue Skiplist Scheduler v0.2025.7-muqss-202
Diffstat (limited to 'kernel/sched/cpufreq_schedutil.c')
-rw-r--r--kernel/sched/cpufreq_schedutil.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/kernel/sched/cpufreq_schedutil.c b/kernel/sched/cpufreq_schedutil.c
index 7fbaee24c824..15d274af9b1c 100644
--- a/kernel/sched/cpufreq_schedutil.c
+++ b/kernel/sched/cpufreq_schedutil.c
@@ -183,6 +183,12 @@ static unsigned int get_next_freq(struct sugov_policy *sg_policy,
return cpufreq_driver_resolve_freq(policy, freq);
}
+#ifdef CONFIG_SCHED_MUQSS
+#define rt_rq_runnable(rq_rt) rt_rq_is_runnable(rq)
+#else
+#define rt_rq_runnable(rq_rt) rt_rq_is_runnable(&rq->rt)
+#endif
+
/*
* This function computes an effective utilization for the given CPU, to be
* used for frequency selection given the linear relation: f = u * f_max.
@@ -211,7 +217,7 @@ unsigned long schedutil_cpu_util(int cpu, unsigned long util_cfs,
struct rq *rq = cpu_rq(cpu);
if (!IS_BUILTIN(CONFIG_UCLAMP_TASK) &&
- type == FREQUENCY_UTIL && rt_rq_is_runnable(&rq->rt)) {
+ type == FREQUENCY_UTIL && rt_rq_runnable(rq)) {
return max;
}
@@ -656,7 +662,11 @@ static int sugov_kthread_create(struct sugov_policy *sg_policy)
struct task_struct *thread;
struct sched_attr attr = {
.size = sizeof(struct sched_attr),
+#ifdef CONFIG_SCHED_MUQSS
+ .sched_policy = SCHED_RR,
+#else
.sched_policy = SCHED_DEADLINE,
+#endif
.sched_flags = SCHED_FLAG_SUGOV,
.sched_nice = 0,
.sched_priority = 0,