将 CHERIoT RTOS 迁移到无节拍模式

主要观点:CHERIoT RTOS 调度器是较传统的 RTOS 调度器,需保证可预测性能和高优先级线程独占 CPU,原调度设计会导致工作浪费,现已改为无节拍模型,虽提升性能但测试套件运行变慢,原因是睡眠 API 用途不明确,后重构该 API 使其能明确表达意图,提高测试套件运行速度,且可进一步改进调度器以保证公平性。
关键信息

  • 传统 OS 与 RTOS 调度器的不同特点。
  • 原调度器设计及导致的浪费情况。
  • 无节拍模型的调度方式及改进。
  • 睡眠 API 的两种用途及重构。
    重要细节
  • 原调度器在最高优先级只有一个线程时会频繁调度。
  • 无节拍模型根据线程情况请求定时器中断。
  • 睡眠 API 重构后增加了表示屈服或睡眠的flags参数。
  • 测试套件因重构睡眠 API 运行速度提升约 30%。
  • 可进一步改进调度器以更好跟踪等优先级线程的屈服时间。
阅读 16
0 条评论