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/