[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: [rtl] Q: when are linux interrupt handlers are invoked?
On Fri, May 08, 1998 at 04:36:51PM -0700, Jun Sun wrote:
>
> The RTL white paper says :
>
> In RT-Linux, all interrupts are initially handled by the Real-Time
> kernel and are passed to the Linux task only when there are no
> real-time tasks to run.
>
> However, the rt-linux code seems to suggest that interrupts are passed to
> Linux before real-time tasks get a chance to run. Here is the reasoning :
>
> 1. I assume assembly symbol "linux_IRQxx_interrupt" is the lowest-level
> interrupt handler for those interrupts that are not interested by
> any real-tasks.
>
> 2. "linux_IRQxx_interrupt" sets a irq flag in SFREQ and will invoke
> "S_IRET" if the soft interrupt is turned on in linux.
>
> 3. "S_IRET" will call the the linux interrupt handler through "SFIDT" table.
>
> I don't see anywhere RT tasks have a chance to execute before the linux
> interrupt handler is invoked. It seems like RT tasks can be delayed
> by lengthy linux interrupt handlers.
> Is this right? Can someone either confirm this or point out what is
> wrong with the logic?
The hard interrupts are re-enabled before the linux driver is called.
--- [rtl] ---
For more information on Real-Time Linux see:
http://rtlinux.cs.nmt.edu/