Linux内核的NR_CPUS值

我在浏览Linux内核代码的时候,遇到了很多关于内核支持的CPU数量的问题。

据我所知,内核可以处理一定数量的CPU。 该编号在Kconfig文件中指定,并传递给CONFIG_NR_CPUS选项。

这是我的dmesg输出:

setup_percpu: NR_CPUS:5120 nr_cpumask_bits:240 nr_cpu_ids:240 nr_node_ids:1 RCU restricting CPUs from NR_CPUS=5120 to nr_cpu_ids=240

我的问题是:

  • 为什么NR_CPUS这么大?

  • 240 nr_cpumask_bitsnr_cpu_ids来自哪里?

非常感谢您的帮助,并为我的糟糕英语感到抱歉。