【发布时间】:2020-11-06 00:19:39
【问题描述】:
我刚刚开始使用实时 Linux 系统,似乎有两种不同的方法可用:
- 在“普通”Linux 内核中配置 CONFIG_RT_GROUP_SCHED 参数
- 将 PREEMPT_RT 补丁应用于“普通”Linux 内核
我似乎无法掌握两者之间的区别。他们是否为同一问题提供替代解决方案?它们甚至处于同一逻辑级别吗?
提前谢谢你。
【问题讨论】:
标签: linux-kernel real-time scheduling
我刚刚开始使用实时 Linux 系统,似乎有两种不同的方法可用:
我似乎无法掌握两者之间的区别。他们是否为同一问题提供替代解决方案?它们甚至处于同一逻辑级别吗?
提前谢谢你。
【问题讨论】:
标签: linux-kernel real-time scheduling
CONFIG_RT_GROUP_SCHED 为每个组中的进程保留一定比例的 CPU 时间。调度间隔、每组进程、CPU时间等都是可配置的。
PREEMPT_RT 补丁使通常不可抢占的代码(如自旋锁和中断处理程序)可以被更高优先级的事件抢占。这减少了实时处理的延迟。
所以两者完全不同。您可以根据自己的需要申请其中一个或两个。请注意,在没有充分理由的情况下使用其中任何一个都类似于过早优化代码。它将降低通用代码的性能,以提高其特定要求(延迟或 CPU 分配)的性能。
【讨论】: