A 64 bites RISC-V esetében eddig 64 volt az NR_CPUS értéke, vagyis ennyi CPU-magot támogatott alapértelmezetten a kernel. A Linux 7.2-höz a Git-be most bekerült változtatás ezt a határt 256 magra/szálra emeli. Az NR_CPUS értéke több statikus memóriafoglalás méretére is hatással van, és ahogy ez a szám nő, úgy nő kismértékben a kernel memóriahasználat is. Közben a Linux x86_64 világában a legtöbb disztribúció gyártói kernel-ja MAXSMP engedélyezéssel 8192-es NR_CPUS értéket használ, hogy kezelni tudja a mai, sokmagos AMD és Intel szerverprocesszorokat. AArch64 (ARM64) esetében ez az érték 512, LoongArch-nál pedig 2048. Az NR_CPUS emelését RISC-V-en a SpacemiT kérte. A limitet megemelő commit így indokolta a változtatást:
"A SpacemiT már gyárt egy 80 magos RVA23 RISC-V szervert, és ha kicsit visszább megyünk az időben, a kétfoglalatos, SG2042-alapú Sophgo Pisces 128 maggal rendelkezik (bár ennek voltak problémái a mainline támogatás elérésével). Ezért az NR_CPUS=64 már nem elég.
Emeljük az alapértelmezett NR_CPUS értéket 256-ra 64BIT esetén (amikor !RISCV_SBI_V01, mivel a nagyon régi firmware-ek nem tudnak 64 magnál többet kezelni). A számot úgy választottuk, hogy kettő hatványa legyen, és legalább a jelenleg ismert maximum duplája. Úgy gondolom, ez a jó egyensúly aközött, hogy ne pazaroljunk túl sok memóriát, de ne is kelljen túl gyakran hozzányúlni ehhez a beállításhoz.
A Ubuntu már NR_CPUS=512-vel szállít riscv64-en. Mi is teszteltük az NR_CPUS=256 beállítást házon belül az ISCAS-nál, és elhanyagolható teljesítményhatást, illetve semmilyen negatív mellékhatást nem tapasztaltunk."
Legfeljebb az lehet meglepő, hogy Linus Torvalds a merge window lezárulta után fogadta el a változtatást, bár valódi regressziós kockázata gyakorlatilag nincs. Az NR_CPUS emelését a Linux Git-be a heti RISC-V javítások részeként olvasztották be.

