preemptive kernels and the use of smp_processor_id()
Rajat Jain
rajatjain at juniper.net
Wed Jul 24 14:52:40 EDT 2013
Hi,
>> So it seems the kernel module I am porting assumed to always run on
>> the same CPU core once entered kernelspace, but on a preemptive system
>> you cannot guarantee that.
> Correct. You probably want to fix the assumption(s) in the kernel module,
> that's in the long term probably easier than trying to make it work otherwise
Uh, are we saying that once a process (say running on core-0) has entered preemptible kernel , there is a chance that suddenly the scheduler might decide it to move to core-1? I though preemptible only means that a process can only be preempted (not moved to another core) under following situations:
1) An interrupt happens (In case of timer, it could put the process back in queue if its time slice expired).
2) The process goes to sleep (can be a result of a call that can sleep).
Can some one shed light on what conditions would a running process be moved to another core?
Thanks,
rajat
More information about the Kernelnewbies
mailing list