Question

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 ?

Was it helpful?

Solution

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.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top