Просматривая исходный код планировщика (2.6.34, kernel/sched.c), я вижу, как используются "подключаемые" планировщики, и я считаю, что я понимаю интерфейс, который будет реализован. Я еще не понимаю, как получить код, встроенный в ядро. По крайней мере, будут оценены указатели на другие сайты.
В настоящий момент я использую grepping для SCHED_FIFO, SCHED_RR и SCHED_NORMAL в исходном дереве ядра, так что я действительно ищу более проницательный способ взглянуть на него: -)
EDIT: В качестве некоторого фона я очень хорошо знаком с планировщиком FreeBSD (и ядром FreeBSD в целом), поэтому я не ищу указателей о том, как выполнять планирование уровня процесса/потока. Я ищу способ добавить свой собственный планировщик вместе с обычными планировщиками linux (аналогично SCHED_FIFO).
EDIT # 2: ниже указатель BFS - это хороший старт, но он все еще прерывает CFS из ядра. sched.c теперь выглядит так:
#ifdef CONFIG_SCHED_BFS
#include "sched_bfs.c"
#else
// original sched.c
#endif // CONFIG_SCHED_BFS
Мне бы хотелось увидеть ответ или указатель на то, как сделать это немного лучше (т.е. сохранить CFS, по крайней мере, сейчас).
ИЗМЕНИТЬ № 3: Я ответил на свой вопрос ниже, поскольку, как я думаю, я понял это.