主要观点:本文旨在支持对使用 sched-ext 进行调度开发感兴趣的人,介绍了在不安装自定义内核的情况下用 sched-ext 进行实验的个人工作流程,包括安装 virtme-ng 及其依赖、准备 sched-ext 内核、构建用户空间 scx 工具和调度器、在 virtme-ng 中测试调度器、修改调度器(如 scx_rustland)及测试结果等。
关键信息:
- virtme-ng 可通过包管理器或 pip 安装,需安装多种依赖。
- 准备 sched-ext 内核基于 bpf-next 分支,通过特定命令克隆和编译。
- 构建 scx 工具和调度器可通过命令行操作。
- 在 virtme-ng 中可使用 helper 快速运行 sched-ext 调度器及 shell 会话,可修改 scx_rustland 调度器代码。
- 测试结果显示修改后的 scx_rustland 调度器能使其他 CPU 进入低功耗状态,降低功耗。
重要细节: - 不同 Linux 发行版安装 virtme-ng 及依赖的方式可能不同。
- 准备 sched-ext 内核时的具体命令及操作步骤。
- 构建 scx 工具和调度器时的命令及不同调度器的编译方式。
- 在 virtme-ng 中测试调度器的具体命令及操作。
- 修改 scx_rustland 调度器的代码示例及修改原因。
- 测试不同调度器功耗的具体命令及结果对比。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。