On 8/27/05, Sat. <[EMAIL PROTECTED]> wrote: > 2005/8/27, Christopher Friesen <[EMAIL PROTECTED]>: > > Sat. wrote: > > > the case about kernel preemption as follow : > > > > > > the book said "when a process that has a higher priority than the > > > currenty running process is awakened ". > > > > > > but I can think about when such case can occur , could you give me an > > > example ? > > > > There may be others, but one common case is when a hardware interrupt > > causes the higher priority process to become runnable. Some examples of > > this would be a network packet arriving, or the expiry of a hardware timer. > > > > Chris > > > > unfortunately, I cannot agree with you , normally ,when the kernel > runs in interrupt context , the schedule() should not be invoked > ------my views . >
Its not actually the interrupt handler which calls the schedule() function, rather interrupt handler just perform the minimal task, like copying the data from network card buffer to kernel buffer in case of packet arriving on system. Its the other function which actually interrut handler schedules for later invocation and this later invocation is done in process context and so the function scheduled for later invocation can wake the waiting processes and can call schedule() function if needed. I hope I am not wrong ;-) -Gaurav > then,could anyone give me a definite example about network like above > or anything else to eluminate this , ok? > > thanks ! > > -- > Sat. > - > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to [EMAIL PROTECTED] > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ > - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/