get_cpu() disables preemption (so you won't
    suddenly get moved to another CPU) and returns the current
    processor number, between 0 and NR_CPUS.  Note
    that the CPU numbers are not necessarily continuous.  You return
    it again with put_cpu() when you are done.
   
If you know you cannot be preempted by another task (ie. you are in interrupt context, or have preemption disabled) you can use smp_processor_id().