CFS и политика в реальном времени

Я пытаюсь реализовать алгоритм реального времени в Linux.

Я изучал политики Linux в реальном времени: sched_rr , sched_fifo .

Чем я иду глубже, и я нашел полностью честный планировщик. Я пришел к выводу, что если я использую CFS, я теряю предсказуемо, поскольку CFS заботится только о справедливости.

Если я хочу строго реализовать алгоритм планирования в реальном времени, я не должен использовать CFS. Я прав ? Если да, какой планировщик Linux я должен использовать?

    CFS справедливо распределяет пропускную способность между различными параллельными рабочими нагрузками таким образом, чтобы интерактивные рабочие нагрузки были привлекательными с низкой задержкой. В реальном времени означает соблюдение крайнего срока, который звучит как, но не то же самое, с низкой задержкой. Поскольку CFS не предлагает крайний срок, он не подходит для реального времени. Я предлагаю вам заглянуть в планировщик SCHED_DEADLINE . Это довольно хороший планировщик реального времени общего назначения для периодических или спорадических задач со сроками исполнения.

    Задачи SCHED_DEADLINE имеют наивысший приоритет среди всех и, таким образом, имеют приоритет перед всеми остальными задачами. SCHED_RR и SCHED_FIFO планируются в соответствии с приоритетом от 1 до 99, где большее число опережает более низкие приоритеты. SCHED_OTHER имеет приоритет 0, который ниже, чем предыдущий, и поэтому этот планировщик CFS получает только ЦП, оставшийся от задач реального времени. Планировщики реального времени могут выделять не более 95% полосы пропускания процессора, оставляя задачам SCHED_OTHER 5% полосы пропускания (если не изменено с помощью sysctl). Существуют также SCHED_BATCH и SCHED_IDLE, которые сообщают планировщику о том, что нужно давать разные недостатки по сравнению с SCHED_OTHER. Справочная страница Linux sched (7) дает более подробную информацию.