FS#36792 - [linux][linux-lts] increase CONFIG_NR_CPUS=64
Attached to Project:
Arch Linux
Opened by Ivaylo Petrov (infestdead) - Wednesday, 04 September 2013, 15:22 GMT
Last edited by Tobias Powalowski (tpowa) - Monday, 14 October 2013, 07:31 GMT
Opened by Ivaylo Petrov (infestdead) - Wednesday, 04 September 2013, 15:22 GMT
Last edited by Tobias Powalowski (tpowa) - Monday, 14 October 2013, 07:31 GMT
|
Details
Description:
Currently I have access to several video encoding servers with latest Arch with 4xE7-4850 CPUs. Each CPU has 10 cores and total 20 threads so I should see 80 cores, but I see 64 as that is the max currently set by CONFIG_NR_CPUS. Currently I disable multithreading or install custom kernel. I don't think increasing the CONFIG_NR_CPUS would harm anyone or cause anything unwanted. Additional info: * package version(s) * config and/or log files etc. /proc/config.gz Steps to reproduce: zgrep CONFIG_NR_CPUS /proc/config.gz |
This task depends upon
Closed by Tobias Powalowski (tpowa)
Monday, 14 October 2013, 07:31 GMT
Reason for closing: Fixed
Additional comments about closing: 3.11.5
Monday, 14 October 2013, 07:31 GMT
Reason for closing: Fixed
Additional comments about closing: 3.11.5
You should set this to the number of CPUs in your system, but keep in mind that a kernel compiled for, e.g., 2 CPUs will boot but only use 2 CPUs on a >2 CPU system. Setting this to a value larger than 64 will cause the use of a CPU mask array, causing a small performance hit.
So it has an impact.
FS#21352> Comment by Thomas Bächler (brain0) - Tuesday, 26 October 2010, 08:51 GMT
> I suspect we will get requests for 96 or 128 cores in about one year, please open a new bug report then.
;P
Thomas, do you know how big the performance hit is? In
FS#21352you mention only saving memory of the kernel image.The memory impact is small and constant (at least that is what the help used to say, I can't see it in the part Tobias quoted).
This is the help text for x86:
"This allows you to specify the maximum number of CPUs which this kernel will support. The maximum supported value is 512 and the minimum value which makes sense is 2.
This is purely to save memory - each supported CPU adds approximately eight kilobytes to the kernel image."
Are we increasing to 128 now? Note that on 32 bit, the maximum is still 8, regardless of the help text saying 512.
config NR_CPUS
int "Maximum number of CPUs" if SMP && !MAXSMP
range 2 8 if SMP && X86_32 && !X86_BIGSMP
range 2 512 if SMP && !MAXSMP
default "1" if !SMP
default "4096" if MAXSMP
default "32" if SMP && (X86_NUMAQ || X86_SUMMIT || X86_BIGSMP || X86_ES7000)
default "8" if SMP
There is an option called X86_BIGSMP "Support for big SMP systems with more than 8 CPUs" - I have no idea what other consequences that option has, but it would allow us to enable the value 128 for i686, too. I don't see the point in having more than 8 CPUs on i686.