Real Time

Introduction
This page has information about Real-time usage of Linux. Also this page has information about timing systems for Linux. This is of interest to CE Linux Forum members, because many consumer electronics products have realtime requirements (e.g. in the areas of multi-media presentation, or communications)

Real Time Wiki
* Material is being moved from the previous site, at: RTWiki during the summer of 2016
 * Please note that https://wiki.linuxfoundation.org/realtime/start is the primary source of information (starting in fall of 2016) for Real Time Linux information

Software Projects

 * Realtime Preemption - Ingo Molnar's patchset to add realtime preemption to the 2.6 Linux kernel
 * Kernel Timer Systems - Various new proposals for changing the kernel timing system
 * Soft IRQ Threads - Technology to put SoftIRQs in threads so they can be preempted.
 *  NOTE: Soft IRQ threads are now (Oct 2007) incorporated into the Realtime Preemption patch 
 * High Resolution Timers - A system to support timers with sub-jiffy resolution
 * Variable Scheduling Timeouts - A system to support variable timeouts for periodic system activities (also known as Tickless)

Hardware Implementations
Ti AM18XX PRUSSv1

Ti_AM33XX_PRUSSv2

Tools for PRUSS

Documents

 * Building Embedded Linux Systems, 2nd edition discusses the realtime preemption patch.
 * CELF Realtime Specification (from 2004, so it's pretty old)
 * Realtime Preemption presentation by Manas at the 2005 CELF Technical Conference - [[Media:Real-Time-Preemption-Patchset.pdf]]
 * Realtime Testing Best Practices - a document to show recent testing results, and give hints for how different tests are conducted and what pitfalls to avoid.
 * Real time in embedded Linux systems
 * Using Real-Time Linux - Presentation by Klaas van Gends at the ELC 2008. The video is available
 * Frank Rowand's series of talks
 * Adventures in real-time performance tuning
 * Part 1, slides and video ELCE 2008 version
 * Part 2, slides and video ELCE 2008 version
 * Musings On Analysis of Measurements of a Real-Time Workload slides ELC 2009 version and video
 * Real-Time Linux Failure [[Media:Real_time_linux_failure.pdf|slides]] ELC 2010 version and full HD video and 450x800 video
 * How Linux PREEMPT_RT Works [[Media:elce11_rowand.pdf|slides]] ELCE 2011 version
 * Real-time vs real-fast, how to choose, conference given by Paul E. McKenney at the Ottawa Linux Symposium 2008. Paper and video


 * Paper: "Embedded GNU/Linux and Real-Time an executive summary", 2010 by Robert Berger
 * This papers, prepared for the Embedded World Conference 2010, compares different real-time approaches (including PREEMPT_RT and dual-kernel approaches).
 * The paper has an extensive list of references.
 * Tutorial RT-Preempt Tutorial
 * OSADL Realtime Page with realtime latency testing farm.

Further Open Source Projects

 * Xenomai - Real-time development framework, closely cooperating with the Linux kernel. Among other features, it provides a migration path from various RTOSes like VxWorks, PSOS+, etc. to Linux based on so-called skins.