[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Re: Scheduler question
Hello....
Rajaram Suryanarayanan wrote:
> So if the swap occurs when some process is sleeping, the sleeping
> process after it wakes up goes to the new active array ?
Correct! That way, freshly awaken process will be ready to be executed
in the CPU. If not, you can imagine that this process will need to wait
until the next array swap.
Also, remember that both array swap and process insertion/removal
to/from task array are done in "atomic" style to maintain data
consistency.
in other word, it is done inside non interruptible code path. Interrupts
are temporarily disabled disabled during these. For example, check how
__wake_up() and wake_up() are implemented (in kernel/sched.c)
regards
Mulyadi
--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive: http://mail.nl.linux.org/kernelnewbies/
FAQ: http://kernelnewbies.org/faq/