【问题标题】:set default priority for ktimersoftd in linux with RT patch使用 RT 补丁在 Linux 中为 ktimersoftd 设置默认优先级
【发布时间】:2018-09-26 14:26:59
【问题描述】:

有没有办法为 ktimersoftd/x 设置默认优先级,以便它以 -50 的 rt prio 启动,而不是之后手动执行 chrt -p 49 pid of ktimersoftd/0

谢谢 安迪

【问题讨论】:

  • 您找到解决方案了吗,我也需要这样做。

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


【解决方案1】:

这是在内核中设置的,在 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 可能是有原因的。

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

【讨论】:

    猜你喜欢
    • 2019-01-11
    • 1970-01-01
    • 2017-07-07
    • 1970-01-01
    • 1970-01-01
    • 2010-12-01
    • 2017-07-31
    • 1970-01-01
    • 2014-09-25
    相关资源
    最近更新 更多