如果我有一个实时 Linux 系统,但某些子系统不是实时的。如果我对实时部分和非实时部分之间共享的某些同步对象使用优先级继承,会发生什么情况?该文档似乎并没有真正涉及这些交叉问题,尽管我可能遗漏了一些东西。
答案1
通过构建优先级反转案例并使用保存高优先级线程正在等待的互斥体的实时和非实时线程的各种配置进行测试,并在为任务中的互斥体打开和不打开优先级反转的情况下进行测试后,我可以得出这样的结论:当实时线程正在等待其持有的互斥体(该互斥体已为其打开优先级继承)时,非实时线程会“提升”为具有预期优先级的实时线程。这是在 Linux 3.12 内核上测试的。