sched: Force the address order of each sched class descriptor
authorSteven Rostedt (VMware) <rostedt@goodmis.org>
Thu, 19 Dec 2019 21:44:52 +0000 (16:44 -0500)
committerPeter Zijlstra <peterz@infradead.org>
Thu, 25 Jun 2020 11:45:43 +0000 (13:45 +0200)
commit590d69796346353878b275c5512c664e3f875f24
tree3f067ae43ac90ed33744b69de6ecd8aa8b6ebd9d
parent87e867b4269f29dac8190bca13912d08163a277f
sched: Force the address order of each sched class descriptor

In order to make a micro optimization in pick_next_task(), the order of the
sched class descriptor address must be in the same order as their priority
to each other. That is:

 &idle_sched_class < &fair_sched_class < &rt_sched_class <
 &dl_sched_class < &stop_sched_class

In order to guarantee this order of the sched class descriptors, add each
one into their own data section and force the order in the linker script.

Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lore.kernel.org/r/157675913272.349305.8936736338884044103.stgit@localhost.localdomain
include/asm-generic/vmlinux.lds.h
kernel/sched/deadline.c
kernel/sched/fair.c
kernel/sched/idle.c
kernel/sched/rt.c
kernel/sched/stop_task.c