md.*_*mal 3 c linux smp linux-device-driver linux-kernel
我试图了解 Linux 内核支持多少个处理器。
grep NR_CPUS /boot/config-`uname -r`
Run Code Online (Sandbox Code Playgroud)
将为我提供内核支持的最大处理器数量,我可以使用内核命令行参数 nr_cpus 覆盖该数量。
要查找在线 cpu 的数量,我可以使用 num_online_cpus() 函数
那么nr_cpu_ids是什么?
#include <linux/kernel.h>
#include <linux/module.h>
MODULE_LICENSE("GPL");
static int __init test_hello_init(void)
{
pr_info("%s: In init NR_CPUs=%d, nr_cpu_ids=%d\n", __func__, NR_CPUS, nr_cpu_ids);
pr_info("Number of cpus available:%d\n", num_online_cpus());
return -1;
}
static void __exit test_hello_exit(void)
{
pr_info("%s: In exit\n", __func__);
}
module_init(test_hello_init);
module_exit(test_hello_exit);
[11548.627338] test_hello_init: In init NR_CPUs=8192, nr_cpu_ids=128
[11548.627340] Number of cpus available:6
Run Code Online (Sandbox Code Playgroud)
NR_CPU 和 ncr_cpu_ids 之间有什么区别。它们不一样吗?
| 归档时间: |
|
| 查看次数: |
1764 次 |
| 最近记录: |