aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjoern Brandenburg <bbb@mpi-sws.org>2013-07-01 16:38:20 -0400
committerBjoern Brandenburg <bbb@mpi-sws.org>2014-06-07 05:30:55 -0400
commitc303fae95a925448441e01ea4b748e53bac119e6 (patch)
treea6cd63abeb3fa31f61cd0e9a4ef800b3f26340fc
parente795d50b21784fd52536c0eb8dfa661c5311617e (diff)
Make LITMUS^RT scheduling class the highest-priority scheduling class
Needs to be above stop_machine_class for legacy reasons; the main plugins were developed before stop_machine_class was introduced and assume that they are the highest-priority scheduling class.
-rw-r--r--kernel/sched/litmus.c2
-rw-r--r--kernel/sched/sched.h3
2 files changed, 3 insertions, 2 deletions
diff --git a/kernel/sched/litmus.c b/kernel/sched/litmus.c
index ad88a14ac170..b84361f03f60 100644
--- a/kernel/sched/litmus.c
+++ b/kernel/sched/litmus.c
@@ -314,7 +314,7 @@ const struct sched_class litmus_sched_class = {
314 * cpu-hotplug or cpu throttling. Allows Litmus to use up to 1.0 314 * cpu-hotplug or cpu throttling. Allows Litmus to use up to 1.0
315 * CPU capacity. 315 * CPU capacity.
316 */ 316 */
317 .next = &rt_sched_class, 317 .next = &stop_sched_class,
318 .enqueue_task = enqueue_task_litmus, 318 .enqueue_task = enqueue_task_litmus,
319 .dequeue_task = dequeue_task_litmus, 319 .dequeue_task = dequeue_task_litmus,
320 .yield_task = yield_task_litmus, 320 .yield_task = yield_task_litmus,
diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h
index 62f508bf001f..91b064171b41 100644
--- a/kernel/sched/sched.h
+++ b/kernel/sched/sched.h
@@ -1017,11 +1017,12 @@ struct sched_class {
1017#endif 1017#endif
1018}; 1018};
1019 1019
1020#define sched_class_highest (&stop_sched_class) 1020#define sched_class_highest (&litmus_sched_class)
1021#define for_each_class(class) \ 1021#define for_each_class(class) \
1022 for (class = sched_class_highest; class; class = class->next) 1022 for (class = sched_class_highest; class; class = class->next)
1023 1023
1024extern const struct sched_class stop_sched_class; 1024extern const struct sched_class stop_sched_class;
1025extern const struct sched_class litmus_sched_class;
1025extern const struct sched_class rt_sched_class; 1026extern const struct sched_class rt_sched_class;
1026extern const struct sched_class fair_sched_class; 1027extern const struct sched_class fair_sched_class;
1027extern const struct sched_class idle_sched_class; 1028extern const struct sched_class idle_sched_class;