嵌入式技术论坛
直播中

申根换

7年用户 1567经验值
私信 关注
[资料]

时间片调度算法issue解决后续及utest测试【上】

1、时间片调度算法issue解决办法

  之前针对时间片调度算法,写过一篇文章关于时间片调度算法issue的分析与解决
  最近又仔细研究发现考虑不全,依然存在bug, 现进行修复并针对性设计一下utest测试实例。
  存在部分任务不调度的情况
  后来有社区伙伴,使用该最新分支出现了不调度的情况。看了一下原因:

2.jpg

  是YIELD 状态位的清除过早了,导致后面 rt_schedule_insert_thread的根据YIELD 状态位来判断时间片是否用完就存在问题了。
  当时临时给出的方案如下,社区伙伴测试后,他们的问题不复现,解决了。
3.jpg
  从本质上来看,这是修改不完整导致。是我的问题,当时认为方案二很简单,修改不多,大意了。但内心还是有疑问的,问什么我测试的时候没发现问题呢。加上当时内部小组讨论是重新理一下时间片的流程,看下还有什么漏洞,暂未提交该PR。最近搬完家,生活工作正常后,再次研究一下。


时间片调度算法issue解决后续及utest测试(上).pdf (973 KB)
(下载次数: 0, 2022-11-24 14:46 上传)




原作者:blta


更多回帖

发帖
×
20
完善资料,
赚取积分