问题
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 ?
回答1:
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 do
the 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() or getcpu() to obtain the same information.
来源:https://stackoverflow.com/questions/7315907/how-to-find-physical-and-logical-core-number-in-a-kernel-module