Gutsy
Please check the status of this specification in Launchpad before editing it. If it is Approved, contact the Assignee or another knowledgeable person before making changes.
Launchpad entry: https://blueprints.launchpad.net/ubuntu/+spec/realtime
Created: Date(2007-01-09T17:28:06Z) by AlessioIgorBogani
Contributors: AlessioIgorBogani
Source Package: linux-source-2.6.22
Binaries Packages: linux-image-2.6.22-X-rt, linux-image-debug-2.6.22-X-rt, linux-headers-2.6.22-X-rt, linux-restricted-modules-2.6.22-X-rt, linux-ubuntu-modules-2.6.22-X-rt, linux-restricted-modules-2.6.22-X-rt
Summary
This specification details the plan to add hard real time support in Ubuntu.
Rationale
In some contexts (i.e. industrial automation, robotics and telco) the low-latency support is insufficient. In order to push Ubuntu in these contexts it is necessary to add support for high resolution timers and full preemption in the Linux kernel. These features have been implemented by Thomas Gleixner and Ingo Molnar (http://people.redhat.com/mingo/realtime-preempt/).
We also want a valid FLOSS alternative to SLERT (http://www.novell.com/products/realtime/).
Use cases
Alex is developing an application software (SCADA type) for a customer and he would be very happy to use Linux and Ubuntu for the deployment.
Real time audio support in a radio station studio (http://postscriptumradio.org), which needs RT preemption to satisfy real time features of jack audio connection kit by Paul Davis.
Scope
This specification covers a new linux kernel flavour (-rt) in Ubuntu.
Implementation
We will use the new kernel build system created by the Ubuntu Kernel Team for Gutsy Release. [http://kernel.ubuntu.com/git?p=ubuntu/ubuntu-gutsy.git;a=blob;hb=HEAD;f=debian/binary-custom.d/README More information about it].
Unresolved issues
1. High precision timers don't work on machine which have only PIT as souce clock [http://www.mail-archive.com/linux-rt-users@vger.kernel.org/msg00375.html more info] BR 2. The realtime kernel could expose you to security issues.BR 3. On some machine esd with realtime kernel freeze GNOME (please kill esd and relaunch it after)
FAQ
Q) Did you manage to include all the regular Ubuntu kernel patches in it? If not, is it possible to know what was left out? BR A) No i don't include anything because i use _only_ full Ubuntu Kernel (not vanilla, not custom version or other). Ubuntu Realtime kernel is Ubuntu kernel plus realtime preemption patch. Also the configuration (aka /boot/config*) is the same expects for specific realtime options.
Q) Where can I find documentation? BR A) All existing docs are available on http://rt.wiki.kernel.org
Q) Which are the differences with vanilla Ingo Molnar's patch? BR A simple adaptation to the BenC's kernel git tree isn't the only difference: We work on Ubuntu specific code or drivers (aka linux-ubuntu-modules) and also remove all code which isn't strictly related to realtime preemption support (in example kvm/paravirt/hypercall).
Todo
Set [http://packages.ubuntu.com/gutsy/utils/schedutils schedutils] package for Recommends field in linux-image binary package (for Gutsy).BR
Add cyclictest package into Universe repositary (at this moment it is in [http://revu.tauware.de/details.py?upid=5013 REVU]).
Investigate: PAM integration ([https://bugs.launchpad.net/ubuntu/+source/pam/+bug/21556 See Bugs 21556])BR
Investigate: I checked Gutsy realtime flavour configuration files. I noticed that CONFIG_HZ is set to 250 HZ. Ubuntu Studio guys ask for 1000 value. Is it still necessary set CONFIG_HZ to 1000? Theoretically no with hrtimers or depends by developer has developed applications?
BoF agenda and discussion
Any suggestions/feedbacks/requests? [wiki:AlessioIgorBogani Alessio] BRBR