A Linux 7.2-rc2 kernel egyik utolsó utáni pillanatban bekerült RISC-V módosítása jelentősen megemeli a 64 bites RISC-V rendszerek alapértelmezett CPU-limitjét. A Linux eddig alapbeállítás mellett legfeljebb 64 magot kezelt ezen az architektúrán, a fejlesztés bevezetése után azonban a támogatott magok száma 256-ra nő.

A módosítás az NR_CPUS értéket érinti, amely meghatározza, hogy az adott kernelkonfiguráció legfeljebb hány processzormagot támogathat. A magasabb érték nagyobb statikus memóriafoglalással járhat a kernelben, de a fejlesztők szerint a 256-os határ RISC-V esetén jó kompromisszumot jelent a bővíthetőség és a memóriahasználat között.
A változtatást a SpacemiT kezdeményezte, amely már készített 80 magos, RVA23-alapú RISC-V szervert. Emellett korábban megjelent a kétfoglalatos, Sophgo SG2042-re épülő Pisces rendszer is, amely összesen 128 magot kínált, bár annak mainline kernelbe kerülése problémásabb volt. Ezek alapján a korábbi 64 magos alapértelmezett limit már szűk keresztmetszetté vált.
Az új beállítás csak a 64 bites RISC-V kernelkonfigurációkra vonatkozik, és nem érvényes azokra a nagyon régi firmware-környezetekre, amelyek még a RISCV_SBI_V01 támogatásra épülnek. A 256-os értéket azért választották, mert kettő hatványa, és legalább kétszerese a jelenleg ismert legnagyobb, szélesebb körben említett RISC-V magszámnak. A pull request indoklása szerint az Ubuntu riscv64 kerneljei már eddig is 512-es NR_CPUS értékkel készültek. Az ISCAS belső tesztjeiben a 256-os beállítás elhanyagolható teljesítményhatással járt, és nem okozott ismert problémát.
Összehasonlításként x86_64 alatt a legtöbb disztribúciós kernel MAXSMP beállítással akár 8192 CPU-szálig is skálázódhat, ami a nagy magszámú AMD és Intel szerverprocesszorok miatt vált szükségessé. ARM64 esetén az alapértelmezett NR_CPUS érték 512, míg LoongArch alatt 2048. A módosítás érdekessége, hogy a merge window lezárása után fogadta el Linus Torvalds a Linux Git fába. A változtatás ugyanakkor alacsony regressziós kockázatú, mivel nem új funkciót vezet be, hanem az alapértelmezett skálázódási határt emeli meg a modern RISC-V szerverekhez igazodva.
További részletek a kapcsolódó pull requestben olvashatók.
