2012-06-01 6 views
0

Я пытаюсь сделать процесс не превентивным. Я изменил политику планировщика на SCHED_FIFO и установил в 99. Как только процесс начнется, в отсутствие прерываний ввода-вывода у меня есть уверенность, что процесс не будет вытеснен другим процессом? Rtprio = 99 является наивысшим приоритетом или еще есть какой-то процесс ядра с более высоким приоритетом? И, наконец, как я могу узнать, был ли процесс выгружен или нет во время его выполнения?Процесс, не подверженный превентивным действиям в Linux (2.6.32)

ответ

0

У этого есть другой процесс, который может выдержать самый высокий процесс rt. Например, процессы, которые создаются с помощью stop_machine() для горячего удаления CPUS, изменяя текст кода ядра.

Вы можете получить информацию из/proc/$ PID/sched, чтобы определить, был ли процесс выгружен или нет. кота/Proc/$ PID/SCHED

nr_switches      :     4197 
nr_voluntary_switches    :     4140 
nr_involuntary_switches   :     57 

Если nr_switches изменяется, то процесс был вытеснен

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

  • Нет связанных вопросов^_^