Re: preemptive kernels and the use of smp_processor_id()
On Wed, 24 Jul 2013 18:52:40 -0000, Rajat Jain said:
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).
Actually, in case of any interrupt, be it timer or I/O or NMI or whatever.
2) The process goes to sleep (can be a result of a call that can sleep).
And there's no actual guarantee that when the process gets rescheduled, that you'll return to the same core you were on.
Can some one shed light on what conditions would a running process be moved to another core?
Pretty much anytime the scheduler comes to that decision. :)
Hi Valdis, Understood.
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).
Actually, in case of any interrupt, be it timer or I/O or NMI or whatever.
So, essentially a scheduler can kick in while returning from ANY sort of interrupt (and not just timer interrupt), right? Thanks, Rajat
participants (2)
-
Rajat Jain -
Valdis.Kletnieks@vt.edu