Following a request to raise the maximum supported number of CPUs in the kernel (NR_CPUS) for s390x, I reviewed the current settings for other architectures. Changing this value changes the kernel module ABI, which is disruptive and is rarely done in stable updates. Raising NR_CPUS has a small cost wherever the kernel manipulates sets of CPU IDs (cpumask_t). So we want it to be high enough for all supported systems but not much higher.
For arm64, this value can range between 2 and 4096, and is currently set to the default of 64. I think this is high enough for all *currently* supported systems. However, there are at least 3 chip families due to be released in the next year or so that appear to support configurations with >64 cores: - Macom X-Gene 3 "Skylark" status: sampling? max cores/package: 32 max packages: 8? (not sure if cache-coherent for more than 2 packages) max cores: 256? - Cavium ThunderX2 status: sampling? max cores/package: 54 max packages: 2 max cores: 108 - Qualcomm Centriq 2400 status: sampling max cores/package: 48 max packages: 2? (2-way motherboard exists, but don't know if more possible) max cores: 96? Should I raise NR_CPUS to, say, 256, in anticipation that support for these chips may be backported? (Some support for the Centriq 2400 is already in mainline Linux.) Ben. -- Ben Hutchings Larkinson's Law: All laws are basically false.
signature.asc
Description: This is a digitally signed message part