How to find physical and logical core number in a kernel module?
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 ? 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