Какой приоритет использовать при вызове sched_setscheduler
Я пишу сервер, который я не хочу заменять другим пользовательским процессом или процессом ядра с "низким приоритетом". Я использую такой код:
struct sched_param sched_param;
memset(&sched_param, 0, sizeof(sched_param));
sched_param.sched_priority = SOME_PRIORITY;
if(-1 == sched_setscheduler(0, SCHED_FIFO, &sched_param)) {
// ...
Моя проблема заключается в том, что когда я устанавливаю SOME_PRIORITY равным 99 (максимальное значение), создается впечатление, что я истощаю даже процесс планировщика, и моя система быстро выходит из строя (серверный процесс имеет цикл busywait в своей основе - у меня нет контроль над этим аспектом, это сторонняя библиотека).
Итак, мой вопрос: какое значение для SOME_PRIORITY я могу использовать, чтобы разрешить только вытеснение планировщиком (и, возможно, некоторым небольшим подмножеством служб ядра)?