[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Raising NR_CPUS for arm64



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.

Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: