Sven Heursch wrote:
> 
> Hello,
> 
> i have a few questions about RT-Linux:
> 
> 1. Is it possible to call schedule() within a RT-interrupt service
> routine (RT-ISR)? Or does the scheduler the same as in Linux and stops
> itself in this case?

Same problem as in standard Linux. (Actually worse...) Standard Linux is
still not preemptive.

> 2. Are all interrupts disabled while a RT-ISR is running as in Linux?

AFAIK, this is the case with the old RTL API, but you can change that
behavior if you need to.

> 3. Is the interrupt response time of RT-ISR better than the IRT in
> normal Linux ? Or the determinism?

Yep. :-) That's about the whole point with RTL.

> 4. Can I register a RT-ISR within a standard module where nothin else is
> real time to get a determinism interrupt response time?

Yep. I've done that with standard Linux drivers as a first test of my
ideas for the Driver Programming Interface. (DPI - see Audiality site,
downloads.) Keep in mind that you *MUST* use RT safe methods to sync the
f_ops calls (or whatever) with the RT ISR, or you'll get nasty
surprises... RTL spin locks and rtl_critical()/rtl_end_critical() works.
You can also use RT-FIFOs.

> 5. If 4, can I call a standard linux system call within a RT-ISR? It is
> not important for me that the execution of the RT-ISR is fast, but the
> reaction on the interrupt must be fast.

There are some safe calls, but generally, you can't. RT interrupts DON'T
get disabled by spin_lock_irqsave() for example... The standard solution
is throwing some data into a struct or some variables, and triggering a
standard Linux bottom half handler. (See RT_FIFO code, or rtl_drvsync of
the DPI.)


//David


   _       _     _       __     ˇRock solid       .-----------------.
  /_\ /  // \ / /_\ /  / / /__/ ˇReal time        | Audio hacker    |
 /  //__//__// /  //_ / /   _/  ˇ<1 ms latency    | Singer/composer |
    Professional Linux Audio    ˇPlug-ins         | GPL advocate    |
 www.angelfire.com/or/audiality ˇFree/Open Source | Linux advocate  |
..-------------------------------------------------'                 |
| David Olofson ˇ [EMAIL PROTECTED] ˇ [EMAIL PROTECTED]  |
´-------------------------------------------------------------------´
--- [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