在带有RT补丁的linux中为ktimersoftd设置默认优先级

时间:2018-09-26 14:27:00

标签: real-time embedded-linux debian-stretch

是否有一种方法可以为ktimersoftd / x设置默认优先级,以使其以-50的rt prio开头,而不是随后手动进行chrt -p 49 pid of ktimersoftd/0

感谢 安迪

1 个答案:

答案 0 :(得分: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, &param);
        
        /* Take over timer pending softirqs when starting */
        local_irq_disable();
        current->softirqs_raised = local_softirq_pending() & TIMER_SOFTIRQS;
        local_irq_enable();
}

因此,唯一的方法是修补内核并用其他方法更改1。老实说,我不知道这种改变的后果。可能是1而不是50的原因。

NB:仅在应用PREEMPT_RT补丁的内核中存在此功能。