Какой приоритет использовать при вызове 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 я могу использовать, чтобы разрешить только вытеснение планировщиком (и, возможно, некоторым небольшим подмножеством служб ядра)?

1
задан 29 January 2013 в 18:50

0 ответов

Другие вопросы по тегам:

Похожие вопросы: