Stuart Hughes wrote:

> One point I want to make is that there is a good reason why often people
> would choose to have an ISR wake up a real-time task to carry out the
> bulk of a set of processing.  On most other real-time operating systems,
> the task that gets woken from the ISR runs at a lower privilege level
> than an ISR (in terms of machine state), also interrupts are normally
> enabled.  This means that the task can be pre-empted by other real-time
> tasks and also interrupted.  In the Linux (hard) real-time
> implementations (RTL/RTAI) this is not currently true, as I believe that
> the task/thread runs at the same machine privilege level as the ISR. 

This is not correct, I asked this question recently. Here's the question
and victor's reply:

Q: Does a "hard" handler stop a RT thread? (I would say yes) How are the
Q: "priorities" between hard handlers and RT threads determined by
RTLinux?

A: Hard handlers preempt anything that is not running with hard
interrupts 
A: disabled. There is no other priority mechanism.

So RT threads will be interrupted by the handler.


> So
> for real-time Linux it is currently less important than on other RTOS's
> to make the ISR/task distinction, but things may change in the future,
> so keeping this in mind may help to produce a design that will be more
> conventional:
> 
>         a) if real-time Linux changes
>         b) if you port to other real-time operating systems
> 
> Regards, Stuart
> -- [rtl] ---
> To unsubscribe:
> echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
> echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
> ---
> For more information on Real-Time Linux see:
> http://www.rtlinux.org/rtlinux/
-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
---
For more information on Real-Time Linux see:
http://www.rtlinux.org/rtlinux/

Reply via email to