Skip to main content.

15. Realtime Response

Check out MontaVista?'s Linux Real-Time characterisation projects at http://www.mvista.com/realtime

15.1. Soft

For many applications a soft realtime user space thread is adequate, particularly if you minimize kernel scheduling latency with the patches at http://www.redhat.com/~mingo/lowlatency-patches/

Also, see http://lists.linuxppc.org/listarcs/linuxppc-embedded/199912/msg00006.html

15.2. Hard

If your application requires a hard real time response with guaranteed low latency, you may need to encapsulate the realtime aspects in a device driver. This is how devices that have realtime constraints such as serial ports and disk drives are traditionally handled under most non-realtime operating systems, including Linux.

15.2.1. Interrupt Latency

The realtime response of a driver will still be affected by other kernel code which may disable interrupts for unknown periods, increasing effective interrupt latency. For some tools to help measure interrupt latency, see http://www.drfruitcake.com/linux/irq_blk.html

15.2.2. RTLinux - Real-Time Linux

If you need better latency guarantees than offerred by the kernel, use Real-Time Linux to decouple the hard realtime portion from the rest of your application. v3.0 includes support for PowerPC.

Also, search for RTLinux.

15.2.3. RTAI - Real Time Application Interface

The Real Time Application Interface is a kernel module which uses a hardware abstraction layer to add typical features from an industrial realtime operating system to Linux. It consists basically of an interrupt dispatcher and mainly traps the peripherals interrupts and if necessary re-routes them to Linux.

RTAI is supported on a number of MPC8xx systems by people like DENX.

14. Floating Point 1. Introduction 16. Threads
Prev Home Next