11 月 30 日消息,英特尔在今年 9 月启动了一次大规模的 Linux 补丁征集活动,对采用大小核设计的混合型 CPU 划分任务类别,通过更加合理地分配任务改善这些 CPU 的 Linux 性能。本次“意见征集”活动圆满结束,英特尔于本周一发布了 22 个补丁。
这项工作的目的是为了提高英特尔第 12 代“Alder Lake”和第 13 代“Raptor Lake”处理器的性能和效率。鉴于之前围绕引入 IPC 类进行负载平衡的建议没有收到任何强烈的反对意见,该项目移除了征求意见(RFC)的标签,下个阶段目标是整合到 Linux 的 Mainline 内核中。
在混合型处理器上,不同类型的 CPU 的微架构属性导致它们具有不同的每周期指令(IPC)能力。在一些 CPU 上,高级指令的 IPC 优先级可以更高。负载平衡器可以发现是否使用高级指令,并为运行这些指令的任务优先选择具有较高 IPC 的 CPU。
了解到,硬件可以自由地将其指令集划分为任意数量的类别。但其中必须提供一种机制来识别当前运行任务的类别,并告知内核每一类任务在每一类 CPU 上的性能。
英特尔本周一发布的补丁集引入了任务类别的概念,明确了硬件实现所需的接口,修改了负载均衡器,并使用非对称打包方式来更好地利用这些额外信息,以实现增强性能的目的。
自初代补丁发布以来,在代码审查和测试的基础上进行了一些代码改进。CONFIG_SCHED_TASK_CLASSES 选项被重新命名为 CONFIG_IPC_CLASSES。这个补丁系列也放弃了 CONFIG_INTEL_THREAD_DIRECTOR 旋钮。但其余的变化则基本是低级别的改动。