我_1131359_已将调度程序策略更改为 SCHED_FIFO ,并将 rtprio 设置为99.一旦进程启动,在没有IO中断的情况下,我是否确保该进程仍然获得了具有更高优先级的内核的某些进程't be preempted by other process? The rtprio=99 is the highest priority or there' ?最后,我怎么知道一个进程在执行过程中是否被抢占了?
SCHED_FIFO
rtprio
它确实有其他进程可以抢占最高rt进程 . 例如, stop_machine() 为热删除CPUS创建的进程,修改内核代码文本 .
stop_machine()
您可以从/ proc / $ PID / sched获取信息,以确定进程是否已被抢占 . cat / proc / $ PID / sched
nr_switches : 4197 nr_voluntary_switches : 4140 nr_involuntary_switches : 57
如果更改了 nr_switches ,则该进程已被抢占
nr_switches
1 回答
它确实有其他进程可以抢占最高rt进程 . 例如,
stop_machine()
为热删除CPUS创建的进程,修改内核代码文本 .您可以从/ proc / $ PID / sched获取信息,以确定进程是否已被抢占 . cat / proc / $ PID / sched
如果更改了
nr_switches
,则该进程已被抢占