面向新一代 Xeon 至强处理器,英特尔积极推进 KVM 虚拟机对 APX 指令集的支持


IT之家 12 月 21 日消息,随着 Linux 内核和编译器生态对英特尔 Advanced Performance Extensions(APX,先进性能扩展)的支持逐步完善,虚拟化环境中的相关适配工作也在加速推进。

英特尔工程师现已开始推动 KVM 虚拟机(Guest VM)对 APX 的正式支持,这将为未来基于新一代至强处理器的云计算和虚拟化场景奠定基础。

自 Linux 6.16 起,Linux 内核基础设施层面已具备 APX 支持条件,同时 GCC 与 LLVM / Clang 等主流编译器工具链也已完成相应适配。在此基础上,当前尚缺的关键一环是让运行在 KVM 上的来宾虚拟机能够实际使用 APX 指令与寄存器扩展。

英特尔工程师 Chang S. Bae 今日向内核社区提交了一组共 16 个补丁,主题为“为 KVM x86 来宾虚拟机启用 APX”。这是在此前 RFC(征求意见稿)基础上形成的正式补丁系列,已吸收 KVM 维护者 Paolo Bonzini 等人的反馈,并基于 Linux 6.19-rc1 开发。

与 Intel AMX 等扩展类似,APX 在虚拟化场景下需要特殊处理。此次补丁主要涉及以下几个方面的改动:

首先,英特尔对通用寄存器(GPR)访问代码进行了重构。补丁将内部寄存器访问接口重命名为 kvm_gpr_read_raw () 和 kvm_gpr_write (),并在开启 CONFIG_KVM_APX 配置时,新增对扩展通用寄存器(EGPR)索引的支持,而 AMD 架构及 32 位构建则保持现有实现不变。

其次,该补丁完善了 VMX 对扩展寄存器索引的支持。与此前基于 XCR0.APX 状态判断不同,新方案仅依赖 APX 的 CPUID 枚举即可确认 VMCS 中扩展字段的可用性。相关逻辑同时覆盖了普通 VMX 与嵌套虚拟化(nested VMX)场景。

第三部分是改动幅度最大的内容,即为 APX 新增的 REX2 前缀提供指令仿真支持。该补丁对原有模拟器代码进行了大幅简化,包括移除实际意义有限的 JMPABS 仿真、复用现有操作码表结构,以及通过统一的辅助函数解析 REX 与 REX2 位,从而降低复杂度并与架构规范保持一致。

最后,该补丁还涉及 APX 功能的对外暴露与自测。该部分未改动 CPUID 暴露逻辑和自测框架,仅对 XCR0.APX 的处理进行了调整,以明确避免与 MPX 功能产生冲突。同时,随着前述 VMX 逻辑调整,相关的旧代码路径也被移除。

需要指出的是,Advanced Performance Extensions 将随英特尔 Nova Lake 和 Diamond Rapids 处理器首次引入。尤其是 Diamond Rapids,被视为面向数据中心和云计算的重要一代 Xeon 平台,因此 KVM 来宾虚拟机对 APX 的支持,对未来云实例性能具有直接意义。

从内核版本节奏来看,社区正在评估该系列补丁能否赶上 Linux 6.20 或 7.0 合并窗口。由于 Ubuntu 26.04 LTS 预计将采用这一阶段的内核版本,相关支持一旦合入,将对虚拟化和云计算用户产生较大影响。

]article_adlist–>

            <!-- 非定向300*250按钮    17/09  wenjing  begin -->
            <!-- 非定向300*250按钮  end -->
        </div>



Source link

未经允许不得转载:紫竹林-程序员中文网 » 面向新一代 Xeon 至强处理器,英特尔积极推进 KVM 虚拟机对 APX 指令集的支持

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
关于我们 免责申明 意见反馈 隐私政策
程序员中文网:公益在线网站,帮助学习者快速成长!
关注微信 技术交流
推荐文章
每天精选资源文章推送
推荐文章
随时随地碎片化学习
推荐文章
发现有趣的