Linux 7.2 的 sched_ext 继续致力于实现子调度程序支持


Merged last week for the Linux 7.2 kernel were all of the sched_ext changes for this extensible scheduler support that allows loading BPF programs from user-space for handling scheduling tasks. Linux 7.2 continues building out sched_ext’s sub-scheduler support.

上周合并到 Linux 7.2 内核中的,是所有与该可扩展调度器支持相关的 sched_ext 更改,该功能允许从用户空间加载 BPF 程序来处理调度任务。Linux 7.2 继续完善 sched_ext 的子调度器支持。


The sched_ext sub-scheduler support will allow for multiple scheduler instances to be attached to the cgroup hierarchy for dealing with different workloads on the system. This sub-scheduler support could become extremely valuable for multi-tenant platforms and heterogeneous workload environments.

sched_ext 的子调度器支持将允许将多个调度器实例附加到 cgroup 层次结构中,以处理系统上的不同工作负载。对于多租户平台和异构工作负载环境而言,这种子调度器支持将具有极高的价值。


With Linux 7.2 more of the infrastructure for this sub-scheduler support has been established along with other improvements, as noted in the pull request:

正如拉取请求中所述,Linux 7.2 不仅建立了更多支持子调度器的基础架构,还进行了其他改进:

    "Most of this continues the in-development sub-scheduler support, which lets a root BPF scheduler delegate to nested sub-schedulers. The dispatch-path building blocks landed in 7.1. A follow-up patchset in development will complete enqueue-path support for hierarchical scheduling."

    “其中大部分工作延续了正在开发的子调度器支持,该功能允许根 BPF 调度器将任务委托给嵌套的子调度器。调度路径构建模块已在 7.1 版本中合并。目前正在开发的后续补丁集将完成分层调度所需的入队路径支持。”

The sub-scheduler work merged for Linux 7.2 include Topological CPU IDs (CIDs), cmask infrastructure, BPF arena integration that the sub-scheduler support is built on, and reworking scx_qmap to exercise the new arena and CID interfaces.

合并到 Linux 7.2 中的子调度器相关工作包括:拓扑 CPU ID(CID)、cmask 基础设施、作为子调度器支持基础的 BPF arena集成,以及对 scx_qmap 的重构以测试新的arena 和 CID 接口。

7 个赞

我感觉那些eBPF的子调度器挺有意思的,目前应该已经在intel大小核调度中取得一定成效了

3 个赞

@stevessr 看样子…很快就能CPU Scheduler热切换了

3 个赞

shus好强…什么时候我也能那么厉害 :sob: :sob: :sob:

2 个赞

哪来的串子,教我用rust手写内核可以吗(

1 个赞

不会喵 最近还在修musl的兼容 已经一个头两个大了

1 个赞

我记得之前看到新闻说要上缓存感知调度?

1 个赞