打开 jepler 打开了这个问题 2020 年 3 月 1 日 · 1条评论 注释 成员 杰普勒 评论了 2020 年 3 月 1 日 至少在带有 RT 内核的 buster 上,tests/threads.0 偶尔会失败。失败模式line 11: got 0, expected 11 or 1表示速率单调调度被违反,较慢的线程中断较快的线程。这不应该发生,因为(在 RT 下)较快的线程比较慢的线程具有更高的优先级。而且,对于非 rt 情况,我不认为线程互斥体曾经按预期工作,因为每个线程都有自己的互斥体,但旧的提交消息表明任何线程都会排除另一个线程执行(意图是所有线程共享的单个静态互斥体) 成员作者 杰普勒 评论了 2020 年 3 月 1 日 替代地解决这个问题,审核唯一设计为具有“快速”和“慢速”功能的组件,并修复它们,以便无论调度是否是速率单调的,它们都能正常工作。有趣的是,我认为 machinekit 放弃了 RMS,我们可以检查他们是否对我能想到的两个进行了任何相关更改:stepgen 和编码器。这已被多次建议,但我从未见过有人进行分析工作。 rene-dev 提到了这个问题 2020 年 8 月 2 日 删除未使用的 thread_lock #912 关闭 免费注册 在 GitHub 上加入此对话。已有帐户? 登录评论 受让人 无人分配 标签 还没有 项目 还没有 里程碑 没有里程碑 发展 没有分支机构或拉取请求 1名参加者
至少在带有 RT 内核的 buster 上,tests/threads.0 偶尔会失败。失败模式
line 11: got 0, expected 11 or 1
表示速率单调调度被违反,较慢的线程中断较快的线程。这不应该发生,因为(在 RT 下)较快的线程比较慢的线程具有更高的优先级。而且,对于非 rt 情况,我不认为线程互斥体曾经按预期工作,因为每个线程都有自己的互斥体,但旧的提交消息表明任何线程都会排除另一个线程执行(意图是所有线程共享的单个静态互斥体)