Re: when or where can the case occur in "linux kernel development " about "kernel preemption"?

From: Gaurav Dhiman
Date: Sun Aug 28 2005 - 02:07:25 EST


On 8/27/05, Sat. <walking.to.remember@xxxxxxxxx> wrote:
> 2005/8/27, Christopher Friesen <cfriesen@xxxxxxxxxx>:
> > 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 majordomo@xxxxxxxxxxxxxxx
> 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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/