linux - 查找linux内核中的CPU数量

标签 linux linux-kernel

我想检测 linux 内核中的 CPU 数量并编写一个 sys_call 来找到它。

cpuinfo_x86给出了一个 CPU 的特征,cpu_detect 填充了它,但是如何找到要检测的 CPU 数量?

最佳答案

使用宏 NR_CPUS 我们可以找到 CPU 的数量。 此宏不应在 early_init 序列中使用,因为大多数 NR_CPUS 不会被初始化,因为它是运行时宏。

或者您可以使用 num_online_cpus() 函数来获取在线的 cpus 数量。

您可以在 include/linux/cpumask.h header 中找到更多选项,以查找各种 CPU 的可用性。

关于linux - 查找linux内核中的CPU数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43171805/

相关文章:

linux - 使用 sed 解析来自 tty 的流

linux - wfdb Matlab 命令在 Linux 和 OS X 中是否不同?

linux - 如何在 Linux 上使用 TPM 实现平台许可证 "dongle"?

linux - P2P音频流Linux服务器软件

Linux 异步 IO - aio.h 和 libaio.h 之间的区别

c - select() 之后的 FD_ISSET() 未检测到接收到的数据

multithreading - TILE-Gx 上的内存屏障和 Linux 内核自旋锁

linux - 为什么我们需要 x86 上的 zone_highmem?

c - msghdr 行为使用 Netlink 在内核空间和用户空间之间进行通信

c - 有没有办法从 C 应用程序与驱动程序通信?