2

В ядре Linux расписание потоков выполняется как в режиме реального времени (например, SCHED_FIFO) и нормальных (SCHED_NORMAL).в ядре Linux является следующим способом для создания kthread реального времени?

Если я хочу создать поток в реальном времени, как это сделать? Я думаю, как:

1, kthread_create

2, дают нить в режиме реального времени планировщик

3, назначить в режиме реального времени приоритет

делает этот штраф для вещественнозначных время kthread?

ответ

6

В резьбе, звоните:

struct sched_param param = { .sched_priority = prio }; 
sched_setscheduler(current, SCHED_FIFO, &param); 

где prio является приоритет, который Вы хотите.

+0

Извините, но я очень не впечатлен этим answser: _syntax_ для того, как установить приоритет kthread, действительно не отвечает на вопрос, как указано. Для получения потока в реальном времени требуется значение prio, равное 1, и мы не имеем здесь никакого ответа, как это сделать в модулях, отличных от GPL (поскольку sched_setscheduler() - EXPORT_SYMBOL_GPL). – duanev

+0

Все значения приоритета в политике планирования SCHED_FIFO в режиме реального времени. – caf

Смежные вопросы