Wie erstelle ich einen neuen Linux-Kernel-Scheduler?

enn ich mir den Scheduler-Quellcode (2.6.34, kernel / sched.c) ansehe, kann ich sehen, wie die "steckbaren" Scheduler verwendet werden, und ich glaube, ich verstehe die zu implementierende Schnittstelle. Was ich noch nicht verstehe, ist, wie ich meinen Code in den Kernel einbauen kann. Zumindest sind Verweise auf andere Websites erwünscht.

Right now, ich greife nach SCHED_FIFO, SCHED_RR und SCHED_NORMAL im Kernel-Quelltextbaum, also bin ich wirklich auf der Suche nach einer aufschlussreicheren Sichtweise: -)

EDIT: Als Hintergrund bin ich mit dem FreeBSD-Scheduler (und dem FreeBSD-Kernel im Allgemeinen) sehr vertraut, daher suche ich nicht nach Hinweisen zur Planung von Prozessen / Threads. Ich suche nach einer Möglichkeit, meinen eigenen Scheduler neben den normalen Linux-Schedulern (ähnlich wie SCHED_FIFO) hinzuzufügen.

EDIT # 2: Der unten stehende BFS-Zeiger ist ein guter Anfang, aber er entfernt CFS immer noch aus dem Kernel. Jetzt sieht sched.c so aus:

#ifdef CONFIG_SCHED_BFS
#include "sched_bfs.c"
#else
   // original sched.c 
#endif // CONFIG_SCHED_BFS

Ich würde gerne eine Antwort oder einen Hinweis sehen, wie dies ein wenig besser gemacht werden kann (dh, behalte CFS, zumindest für den Moment).

EDIT # 3: Ich habe meine eigene Frage unten beantwortet, da ich denke, dass ich es herausgefunden habe.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage