如何查找内核模块中的物理和逻辑核心数?
Linux 中是否有内核函数可以返回物理核心的数量和 正在运行内核模块的逻辑核心(在超线程的情况下)?
Are there kernel functions in Linux that would return the number of the physical core and
logical core (in case of Hyperthreading) on which a kernel module is running ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
看一下
include/linux/smp.h
的结尾:smp_processor_id()
给出当前正在执行的 CPU 的编号。
get_cpu()
就可以了同样的,也会禁用抢占,这样你就可以继续使用
该 CPU 直到调用
put_cpu()
为止。从用户空间,您可以使用
sched_getcpu()
或getcpu()
获取相同的信息。Have a look at the end of
include/linux/smp.h
:smp_processor_id()
gives you the number of the current executing CPU.
get_cpu()
will dothe same and will also disable preemption so that you will stay on
that CPU until
put_cpu()
is called.From user-space, you can use
sched_getcpu()
orgetcpu()
to obtain the same information.