Использование 2 разных политик планирования в одном проекте - PullRequest
0 голосов
/ 27 февраля 2012

Во встроенном проекте мы сталкиваемся с трудностями при принятии решения о том, какую политику планирования использовать. Для прохождения определенных тестовых случаев нам нужно использовать SCHED_OTHER, а для некоторых других тестовых случаев нам нужно использовать SCHED_RR. Но если мыустановить SCHED_RR для какой-либо задачи и оставить как SCHED_OTHER, все тесты пройдены успешно. Было ли это законно и есть ли дополнительные побочные эффекты для такого использования двух политик в одном проекте?

1 Ответ

0 голосов
/ 10 марта 2012

Я полагаю, вы говорите о Linux? Тогда да, вполне допустимо, чтобы некоторые задачи выполнялись с SCHED_RR, а другие - с SCHED_OTHER.

Обратите внимание, что задачи SCHED_RR всегда будут выполняться раньше задач SCHED_OTHER. Поэтому неудивительно, что ваши тесты работают лучше, если вы установите для своих задач значение SCHED_RR. Следует остерегаться того, что ваши задачи SCHED_RR могут использовать 100% ЦП и не справляться с задачами SCHED_OTHER. Может быть, это происходит, когда вы говорите, что некоторые входные данные отбрасываются.

Michael

...