开源改变世界

uspace:速率单调调度实际上不起作用 #692

推推 grbl 3年前 (2023-01-29) 162次浏览
打开
jepler 打开了这个问题 2020 年 3 月 1 日 · 1条评论

注释

uspace:速率单调调度实际上不起作用 #692
成员

至少在带有 RT 内核的 buster 上,tests/threads.0 偶尔会失败。失败模式line 11: got 0, expected 11 or 1表示速率单调调度被违反,较慢的线程中断较快的线程。这不应该发生,因为(在 RT 下)较快的线程比较慢的线程具有更高的优先级。而且,对于非 rt 情况,我不认为线程互斥体曾经按预期工作,因为每个线程都有自己的互斥体,但旧的提交消息表明任何线程都会排除另一个线程执行(意图是所有线程共享的单个静态互斥体)

uspace:速率单调调度实际上不起作用 #692
成员作者

替代地解决这个问题,审核唯一设计为具有“快速”和“慢速”功能的组件,并修复它们,以便无论调度是否是速率单调的,它们都能正常工作。有趣的是,我认为 machinekit 放弃了 RMS,我们可以检查他们是否对我能想到的两个进行了任何相关更改:stepgen 和编码器。这已被多次建议,但我从未见过有人进行分析工作。

免费注册 在 GitHub 上加入此对话。已有帐户? 登录评论
标签
还没有
项目

还没有

发展

没有分支机构或拉取请求

1名参加者
uspace:速率单调调度实际上不起作用 #692

喜欢 (0)