Linux 最新资讯 20260121——调整一行Linux代码为现代至强CPU带来5倍唤醒延迟降低
🎮 调整一行Linux代码为现代至强CPU带来5倍唤醒延迟降低 Linux内核邮件列表发布的新补丁旨在解决现代英特尔至强服务器平台遇到的高唤醒延迟问题。自Sapphire Rapids及更新平台以来,Linux菜单调控器与NOHZ_FULL配置产生的"过度"唤醒延迟会对处理延迟敏感工作负载的至强CPU产生负面影响,而一个仅16行的补丁有望显著改善此状况——实际仅修改一行代码,其余均为代码注释。风河系统云端工程师Ionut Nechita长期致力于解决现代英特尔至强平台的高唤醒延迟问题,该问题可追溯至Sapphire Rapids平台,并在最新一代Granite Rapids处理器中持续存在。相比Ice Lake和Skylake至强处理器12~21微秒的延迟,采用menu governor和NOHZ_FULL内核构建时约150微秒的唤醒延迟严重影响了延迟敏感型应用的性能。研究发现menu governor代码存在一个问题:会导致进入过深的封装C状态。由于DDR5电源管理开销、现代至强CPU的每瓦片级功耗门控、CXL链路恢复以及现代服务器的其他复杂性,这种深度状态对现代至强服务器而言代价过高。大佬提出的改进方案是在menu governor代码中简单增加25%的安全裕度,以防止进入"过度"深度的状态,同时不过度影响能效。这25%的安全裕度既能降低选择过浅状态的风险,也能避免选择不必要的深度状态。 "当节拍时钟已停止且预测空闲时间较短(< TICK_NSEC)时,原始代码直接使用next_timer_ns。对于具有高C状态退出延迟的平台而言,这种做法可能过于保守。在英特尔服务器平台(2022年后)上,当实际空闲时间远短于next_timer_ns时,这会导致过高的唤醒延迟(约150微秒),因为调控器会选择封装C状态(PC6),而实际上更浅层的状态更为合适。我们在预测值上增加25%的安全裕度,而非直接使用next_timer_ns,同时仍将其限制在next_timer_ns范围内,以避免选择不必要的深度状态。测试表明,该修改将受影响平台的qperf延迟从151微秒降至约30微秒,同时保持了良好的能效。对于具有快速C状态转换的平台(Ice Lake:12微秒,Skylake:21微秒)影响微乎其微。" menu governor增加25%安全裕度的基准测试结果具有说服力:"在Sapphire Rapids平台使用qperf tcp_lat测试: 在Ice Lake和Skylake平台测试显示影响极小: - Ice Lake:12微秒 → 12微秒(无性能衰退) - Skylake:21微秒 → 21微秒(无性能衰退)能效测试显示混合工作负载下封装功耗差异<1%,完全处于测量误差范围内。" 据报告,至强Sapphire Rapids平台的延迟降低了5倍。该补丁预计同样会惠及更新的至强CPU,但在此次初始补丁提交中未提供相关基准测试。这个16行补丁中仅修改了一行代码,其余均为代码注释。该补丁现已提交至Linux内核邮件列表等待审核。🖱️ System76持续推动COSMIC桌面环境更多改进 继去年12月Pop!_OS 24.04 LTS发布及首个重大版本COSMIC桌面环境亮相后,System76软件工程师持续优化其基于Rust开发的桌面环境。自COSMIC Epoch 1版本发布以来,团队已推出两个增量更新版本,持续引入新功能与问题修复。近期COSMIC的主要改进包括:COSMIC合成器现已支持圆角窗口。所有窗口均可实现圆角效果,不仅限于COSMIC原生应用,用户也可通过COSMIC设置切换为直角样式。
COSMIC初始化设置优化了多显示器配置的适配流程。
COSMIC设置现默认启用"点击标签页切换"功能。
修复了COSMIC设置中的音频自动路由问题。
COSMIC应用库改进了图标处理机制,优先采用高质量图标版本。
COSMIC合成器现允许X11客户端激活窗口。
修复了COSMIC合成器的若干崩溃问题。
COSMIC文件管理器新增多项设置选项与功能改进,例如支持在路径导航栏直接输入网络路径。
COSMIC设置现支持双因素认证(2FA)VPN连接。
关于这些改进的详细说明,Pop!_OS 24.04 LTS用户及其他使用最新COSMIC桌面包发行版的用户可通过System76官方博客获取更多信息。🎪 AMD 简化 vLLM 在 ROCm 上的安装流程 在NVIDIA硬件上部署vLLM进行大语言模型推理和服务,可以简单到只需执行pip3 install vLLM。正如许多AI/大语言模型Python库能直接部署并在NVIDIA硬件上"开箱即用"那样,这种简洁之美令人赞叹。然而,在AMD Radeon/Instinct硬件上运行vLLM历来意味着需要自行从源码编译,或采用AMD推荐的预构建vLLM Docker容器方案。如今终于出现了官方认可的Python wheel包,使得无需Docker即可更便捷地安装vLLM并利用ROCm平台。虽然目前尚未达到直接通过pip install vLLM使用上游版本那般简便,但已非常接近: pip install vLLM==0.14.0+rocm700 --extra-index-url https://wheels.vLLM.AI/rocm/0.14.0/rocm700AMD人工智能软件副总裁阿努什·埃兰戈瓦今日通过X平台分享了这一好消息。希望不久之后,ROCm平台的支持能变得像从PyPI安装官方vLLM一样简便。无论如何,这无疑是朝着正确方向迈出的重要一步。