diff options
author | Con Kolivas <kernel@kolivas.org> | 2019-10-25 14:00:52 +1100 |
---|---|---|
committer | Con Kolivas <kernel@kolivas.org> | 2019-10-25 17:01:56 +1100 |
commit | 7523eb72b6b9f9289618231aab60efb5577d8f33 (patch) | |
tree | 95bb3c5dcb67fc38d32839dd78aaf59451216ca9 /kernel/sched/sched.h | |
parent | 4d856f72c10ecb060868ed10ff1b1453943fc6c8 (diff) |
MultiQueue Skiplist Scheduler v0.195.5.3-muqss-195
Diffstat (limited to 'kernel/sched/sched.h')
-rw-r--r-- | kernel/sched/sched.h | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h index 802b1f3405f2..3ce9dc8e7457 100644 --- a/kernel/sched/sched.h +++ b/kernel/sched/sched.h @@ -2,6 +2,19 @@ /* * Scheduler internal types and methods: */ +#ifdef CONFIG_SCHED_MUQSS +#include "MuQSS.h" + +/* Begin compatibility wrappers for MuQSS/CFS differences */ +#define rq_rt_nr_running(rq) ((rq)->rt_nr_running) +#define rq_h_nr_running(rq) ((rq)->nr_running) + +#else /* CONFIG_SCHED_MUQSS */ + +#define rq_rt_nr_running(rq) ((rq)->rt.rt_nr_running) +#define rq_h_nr_running(rq) ((rq)->cfs.h_nr_running) + + #include <linux/sched.h> #include <linux/sched/autogroup.h> @@ -2423,3 +2436,30 @@ static inline bool sched_energy_enabled(void) static inline bool sched_energy_enabled(void) { return false; } #endif /* CONFIG_ENERGY_MODEL && CONFIG_CPU_FREQ_GOV_SCHEDUTIL */ + +/* MuQSS compatibility functions */ +static inline bool softirq_pending(int cpu) +{ + return false; +} + +#ifdef CONFIG_64BIT +static inline u64 read_sum_exec_runtime(struct task_struct *t) +{ + return t->se.sum_exec_runtime; +} +#else +static inline u64 read_sum_exec_runtime(struct task_struct *t) +{ + u64 ns; + struct rq_flags rf; + struct rq *rq; + + rq = task_rq_lock(t, &rf); + ns = t->se.sum_exec_runtime; + task_rq_unlock(rq, t, &rf); + + return ns; +} +#endif +#endif /* CONFIG_SCHED_MUQSS */ |