[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-arm-kernel
Subject:    Re: why cannot block inside interrupt context
From:       Chris McKillop <cdm () killerstuff ! net>
Date:       2005-01-28 4:15:51
Message-ID: 41F9BC77.4060900 () killerstuff ! net
[Download RAW message or body]


Li Xinyi wrote:
> Russell King - ARM Linux wrote:
>  > Define "block".  Do you mean "sleep" ?
>  >
> 
> Yes, I mean sleep. More precisely, why cannot sleep inside an ISR.
>

Because there is no associated process to "wake up" after the sleep is 
finished.  Having a (new) process context setup each time there is an 
interrupt is counter to the ideal of interrupts being small, fast and 
efficient. There are certainly ways to trigger a process (thread) to run 
on interrupt, which will let you sleep.  If you aren't worried about 
worst-case latency you can simply do all the processing outside of the ISR.

	chris




-------------------------------------------------------------------
Subscription options: http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm-kernel
FAQ:       http://www.arm.linux.org.uk/armlinux/mlfaq.php
Etiquette: http://www.arm.linux.org.uk/armlinux/mletiquette.php
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic