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.