Hi Rick
Hi,
If an executing process is interrupted by an interrupt, is it ensured
that it won't get transferred to another idle CPU in the system??
AFAIK, if the task is interrupted by interrupt, its state is still in
TASK_RUNNING and isn't allowed to be rescheduled into another CPU.
Another thing to watch is, while in interrupt handler (top half part),
it is entering atomic condition and no preemption/reschedule is allowed
in that situation. So IMHO, by looking into these, we can conclude that
the process stays in the current CPU.
However, after the CPU finishes the top halves of interrupt handler,
thus leaving atomic situation and you are enabling full kernel level
preemption, the scheduler is allowed to pick another process to be run
and thus kicking out the currently running process in the CPU.
--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive: http://mail.nl.linux.org/kernelnewbies/
FAQ: http://kernelnewbies.org/faq/