Hello Karane... in short, if you are confused, first study the usage of "need_resched" field on task_struct. Later, you will realized that this flag is checked in several points, one of them is whenever interrupt handler finished and continue executing kernel code path (this is true on linux 2.6 with preemptible enabled or 2.4 with preempt patch) or going back to user code path. Which one is continued, depends on which code path (kernel or user) that is interrupted when interrupt comes... regards Mulyadi Santosa -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/