Linux 7.2-rc2 调整 RISC-V 默认核心上限:64 核提升至 256 核
据 IT之家 7 月 4 日消息援引 Phoronix 报道,Linux 内核主线近日合入一项面向 RISC-V 架构的关键调整:在即将发布的 Linux 7.2-rc2 中,RISC-V 64 位架构默认支持的 CPU 核心数上限将从 64 核提高到 256 核。该变更已作为本周 RISC-V 修复补丁的一部分进入 Linux Git 仓库,核心目的在于让内核默认配置跟上 RISC-V 服务器硬件正在提升的核心规模。
这项调整并非单纯的参数更新,而是 RISC-V 从嵌入式、低功耗设备逐步进入服务器场景后的基础设施变化。来源显示,提出该请求的是 RISC-V 芯片设计公司进迭时空(SpacemiT)。提交说明提到,进迭时空已经生产出 80 核的 RVA23 标准 RISC-V 服务器;而更早之前,基于算能(Sophgo)SG2042 芯片的双路服务器“Pisces”已达到 128 核配置。在这些硬件已经超过原有默认上限的情况下,继续维持 64 核默认值显然会限制系统对新平台的开箱支持。
为什么是 NR_CPUS:一个影响内核资源分配的底层参数
此次被调整的配置项是 NR_CPUS。它决定内核默认可支持的最大 CPU 逻辑核心数量,也会影响内核中部分静态内存分配规模。简单来说,数值越大,内核需要为潜在 CPU 核心预留的资源也会增加,因此并不是越高越好。
开发者将 RISC-V 64 位默认值设为 256,理由是选择一个“至少两倍于已知最大核心数”的 2 的幂数。已知 RISC-V 服务器平台中已经出现 128 核配置,因此 256 核既能覆盖当前硬件,也为后续产品留出余量。相比直接设置到更高水平,这一选择也体现了对内存占用的克制:既避免每出现一代新硬件就调整一次,又不希望为尚未普及的超高核心数平台付出过多默认成本。
- 原默认值:RISC-V 64 位架构默认 NR_CPUS 为 64。
- 新默认值:Linux 7.2-rc2 中提升至 256。
- 触发原因:已有 RISC-V 服务器硬件达到 80 核、128 核级别。
- 潜在代价:更高 NR_CPUS 会增加部分内核静态内存占用。
对 RISC-V 服务器生态意味着什么
从产业趋势看,这次调整释放出一个清晰信号:RISC-V 正在从开发板和嵌入式应用,进一步向高核心数服务器平台扩展。当硬件厂商开始提供 80 核、128 核级别产品时,Linux 主线内核需要在默认配置层面为这些机器做好准备,否则发行版和用户可能需要额外修改配置才能完整利用硬件资源。
这对中文科技产业尤其值得关注。RISC-V 在国内芯片生态中具备较高讨论度,服务器端能否形成可用的软件栈,直接关系到它是否能从“开放指令集”概念走向真实部署。内核默认核心数上限的提高,虽然不是性能优化本身,却属于服务器可用性建设中的基础环节。对于云计算、边缘计算和国产化软硬件适配而言,这类底层变更往往会影响后续发行版、驱动、虚拟化与调度能力的稳定性。
来源还提到,Ubuntu 发行版早已为 RISC-V 64 位架构设置了 512 的 NR_CPUS 值;中国科学院计算技术研究所(ISCAS)内部测试 256 核配置时,也观察到性能影响可忽略,未出现不良影响。这说明 256 对当前 RISC-V 主线内核而言更像是一个稳妥的默认基线,而不是激进扩张。
与 x86、ARM64、LoongArch 相比仍偏保守
如果放到主流服务器架构中比较,RISC-V 此次提升后的默认值仍然不算高。报道称,Linux x86_64 架构下,多数发行版内核在启用 MAXSMP 后,NR_CPUS 可达 8192,用于适配 AMD 与英特尔的高核心数服务器处理器;ARM64(AArch64)默认值为 512;龙芯 LoongArch 架构则达到 2048。相比之下,RISC-V 的 256 更接近“刚好覆盖当前增长阶段”的配置。
值得注意的是,该变更是在合并窗口期之后仍被 Linus Torvalds 接纳。通常这意味着维护者认为它风险较低,不太可能带来明显回退问题。对于 Linux 主线而言,默认配置的改变必须兼顾兼容性、资源占用和未来硬件需求,而 RISC-V 这次调整显然被视为必要且可控。
总体来看,NR_CPUS 从 64 提升到 256 并不会立刻改变 RISC-V 服务器的市场格局,但它为更高核心数硬件进入 Linux 主线生态清除了一个基础障碍。随着 RISC-V 服务器芯片继续演进,类似内核、发行版和工具链层面的细节更新,将决定这一架构能否真正承接更复杂的计算工作负载。