有没有办法为 ktimersoftd/x 设置默认优先级,以便它以-50 的 rt prio 启动,而不是chrt -p 49 pid of ktimersoftd/0
之后手动执行?
感谢安迪
有没有办法为 ktimersoftd/x 设置默认优先级,以便它以-50 的 rt prio 启动,而不是chrt -p 49 pid of ktimersoftd/0
之后手动执行?
感谢安迪
这是在内核中设置的,在 kernel/softirq.c 中的以下函数中:
static inline void ktimer_softirqd_set_sched_params(unsigned int cpu)
{
struct sched_param param = { .sched_priority = 1 };
sched_setscheduler(current, SCHED_FIFO, ¶m);
/* Take over timer pending softirqs when starting */
local_irq_disable();
current->softirqs_raised = local_softirq_pending() & TIMER_SOFTIRQS;
local_irq_enable();
}
所以唯一的方法是修补内核并用其他东西更改1。老实说,我不知道这种变化的后果。为什么它是 1 而不是 50 可能是有原因的。
注意:此功能仅存在于应用 PREEMPT_RT 补丁的内核中。