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.