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

From: linux-os (Dick Johnson)
Date: Mon Aug 29 2005 - 06:49:05 EST



On Sat, 27 Aug 2005, Sat. 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 .
>
> then,could anyone give me a definite example about network like above
> or anything else to eluminate this , ok?
>
> thanks !
>
> --
> Sat.

Schedule is never executed from an interrupt, BUT, there may be
kernel threads or even user tasks that are sleeping, waiting
to be awakened when some preliminary interrupt processing has
occurred. The interrupt code may execute one of the wake-up calls
which will cause the target to be put into the run queue as soon
as possible.

Cheers,
Dick Johnson
Penguin : Linux version 2.6.12.5 on an i686 machine (5537.79 BogoMips).
Warning : 98.36% of all statistics are fiction.
.
I apologize for the following. I tried to kill it with the above dot :

****************************************************************
The information transmitted in this message is confidential and may be privileged. Any review, retransmission, dissemination, or other use of this information by persons or entities other than the intended recipient is prohibited. If you are not the intended recipient, please notify Analogic Corporation immediately - by replying to this message or by sending an email to DeliveryErrors@xxxxxxxxxxxx - and destroy all copies of this information, including any attachments, without reading or disclosing them.

Thank you.
-
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/