RealTime

Differences between revisions 1 and 60 (spanning 59 versions)
Revision 1 as of 2007-01-09 16:20:53
Size: 1612
Editor: adsl203-157-083
Comment:
Revision 60 as of 2007-04-20 22:18:57
Size: 5474
Editor: host-84-222-111-196
Comment:
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
## * '''Launchpad entry''': https://launchpad.net/distros/ubuntu/+spec/realtime  * '''Launchpad entry''': https://blueprints.launchpad.net/ubuntu/+spec/realtime
Line 8: Line 8:
 * '''Packages affected''': linux-source-2.6.20  * '''Source Package''': linux-patch-realtime-preempt-2.6.20
 * '''Binaries Packages''': linux-image-2.6.20-X-realtime, linux-image-debug-2.6.20-X-realtime, linux-headers-2.6.20-X-realtime, linux-image-2.6.20-X-realtime-trace
Line 16: Line 18:
In some contexts (i.e. industrial automation, robotics and telco) the low-latency support is insufficient. In order to push Ubuntu in these contexts is necessary the support for high resolution timers and the full preemption in the Linux kernel. These features have been implemented by Thomas Gleixner and Ingo Molnar (http://people.redhat.com/mingo/realtime-preempt/). 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/).
Line 18: Line 20:
We want also a valid FLOSS alternative to SLERT (http://www.novell.com/products/realtime/). We also want a valid FLOSS alternative to SLERT (http://www.novell.com/products/realtime/).
Line 24: Line 26:
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.
Line 26: Line 30:
This specification cover the linux kernel in Ubuntu. This specification covers a new linux kernel flavour (-realtime) in Ubuntu.
Line 28: Line 32:
== Design == ## == Design ==
Line 32: Line 36:
We hope to add a linux-image-realtime package in universe repositary (the same place of the linux-image-lowlatency package). We hope to add in the universe repositary (the same place as the linux-image-lowlatency package) a source package that contain only the realtime-preempt patch (~2MB). This package have a build dependency to linux-source-2.6.20 package. When it's compiled it exctract the kernel code from linux-source-2.6.20, apply the patch, set the realtime kernel configuration and build all binary packages: linux-image-2.6.20-X-realtime, linux-image-debug-2.6.20-X-realtime, linux-headers-2.6.20-X-realtime, linux-image-2.6.20-X-realtime-trace.
Line 34: Line 38:
=== Code === ## === Code ===
Line 36: Line 40:
=== Data preservation and migration === ## === Data preservation and migration ===
Line 40: Line 44:
1. Seems that ACPI (and a good implementation of it) is mandatory by hrtimers (fundamental part of the Realtime preemption patch). From 2.6.21 hrtimers is merged in mainline thus we hope this will be resolved in the near future.[[BR]]
2. The realtime kernel break ABI compatibility.[[BR]]
3. The realtime kernel could expose you to security issue.

== Beta available ==

Add, as root, to your /etc/apt/sources.list (remember to do a backup of this file) the following line:
{{{
deb http://www.texware.it/ubuntu feisty/
deb-src http://www.texware.it/ubuntu feisty/
}}}

Then execute:

{{{
wget -q http://www.texware.it/ubuntu/feisty/BBA3222D.gpg -O- | sudo apt-key add -
sudo apt-get update
sudo apt-get install linux-realtime
}}}

Binary packages available:

linux-realtime[[BR]]
linux-image-realtime[[BR]]
linux-headers-2.6.20-15-realtime (2.6.20-rt8) -BROKEN- [[BR]]
linux-image-2.6.20-15-realtime (2.6.20-rt8)[[BR]]
linux-image-2.6.20-15-realtime-trace (2.6.20-rt8)[[BR]]
linux-image-debug-2.6.20-15-realtime (2.6.20-rt8)[[BR]]
cyclictest

Source package:

linux-patch-realtime-preempt-2.6.20 (2.6.20-rt8)[[BR]]

== 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 i cand find documentation?''' [[BR]]
A) All existing docs are available on http://rt.wiki.kernel.org

'''Q) Which are the differences between your patch and Ingo Molnar's one?''' [[BR]]
A simple adaptation to the BenC's kernel source tree isn't the only difference: We work on Ubuntu specific code or drivers (aka ubuntu/* in the source) and also remove all code which isn't strictly related to realtime preemption support (in example kvm).

== Todo ==

Restricted modules package [[BR]]
Add schedutils package to Recommends or Suggests field[[BR]]
Investigate on PAM integration ([https://bugs.launchpad.net/ubuntu/+source/pam/+bug/21556 See Bugs 21556])[[BR]]
Line 42: Line 97:
 * Any suggestion/feedbacks/requests? [wiki:AlessioIgorBogani alessio] [[BR]][[BR]]
 * I can host the packages on my repo if bandwith is necessary [wiki:Ttoine ttoine] [[BR]][[BR]]
 * I confirm that it seems to rock for music production, jack like it; will do my best to have it in the next Ubuntu Studio, hope that we will have the restricted modules packages for full opengl support, etc... [wiki:Ttoine ttoine] [[BR]][[BR]]
 * http://help.ubuntu.com/community/UbuntuStudioPreparation -> Here you will find the PAM settings we use at the moment with Ubuntu Studio. Alessio, feel free to contact me by mail if you feel that we tweak better. [wiki:Ttoine ttoine]

Alessio has now joined the UbuntuStudio team. Hopefully we can get this work into Ubuntu for the next release. :) -CKontros
Line 43: Line 104:
CategorySpec CategorySpec CategorySpec

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.

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 (-realtime) in Ubuntu.

Implementation

We hope to add in the universe repositary (the same place as the linux-image-lowlatency package) a source package that contain only the realtime-preempt patch (~2MB). This package have a build dependency to linux-source-2.6.20 package. When it's compiled it exctract the kernel code from linux-source-2.6.20, apply the patch, set the realtime kernel configuration and build all binary packages: linux-image-2.6.20-X-realtime, linux-image-debug-2.6.20-X-realtime, linux-headers-2.6.20-X-realtime, linux-image-2.6.20-X-realtime-trace.

Unresolved issues

1. Seems that ACPI (and a good implementation of it) is mandatory by hrtimers (fundamental part of the Realtime preemption patch). From 2.6.21 hrtimers is merged in mainline thus we hope this will be resolved in the near future.BR 2. The realtime kernel break ABI compatibility.BR 3. The realtime kernel could expose you to security issue.

Beta available

Add, as root, to your /etc/apt/sources.list (remember to do a backup of this file) the following line:

deb http://www.texware.it/ubuntu feisty/
deb-src http://www.texware.it/ubuntu feisty/

Then execute:

wget -q http://www.texware.it/ubuntu/feisty/BBA3222D.gpg -O- | sudo apt-key add -
sudo apt-get update
sudo apt-get install linux-realtime

Binary packages available:

linux-realtimeBR linux-image-realtimeBR linux-headers-2.6.20-15-realtime (2.6.20-rt8) -BROKEN- BR linux-image-2.6.20-15-realtime (2.6.20-rt8)BR linux-image-2.6.20-15-realtime-trace (2.6.20-rt8)BR linux-image-debug-2.6.20-15-realtime (2.6.20-rt8)BR cyclictest

Source package:

linux-patch-realtime-preempt-2.6.20 (2.6.20-rt8)BR

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 i cand find documentation? BR A) All existing docs are available on http://rt.wiki.kernel.org

Q) Which are the differences between your patch and Ingo Molnar's one? BR A simple adaptation to the BenC's kernel source tree isn't the only difference: We work on Ubuntu specific code or drivers (aka ubuntu/* in the source) and also remove all code which isn't strictly related to realtime preemption support (in example kvm).

Todo

Restricted modules package BR Add schedutils package to Recommends or Suggests fieldBR Investigate on PAM integration ([https://bugs.launchpad.net/ubuntu/+source/pam/+bug/21556 See Bugs 21556])BR

BoF agenda and discussion

  • Any suggestion/feedbacks/requests? [wiki:AlessioIgorBogani alessio] BRBR

  • I can host the packages on my repo if bandwith is necessary [wiki:Ttoine ttoine] BRBR

  • I confirm that it seems to rock for music production, jack like it; will do my best to have it in the next Ubuntu Studio, hope that we will have the restricted modules packages for full opengl support, etc... [wiki:Ttoine ttoine] BRBR

  • http://help.ubuntu.com/community/UbuntuStudioPreparation -> Here you will find the PAM settings we use at the moment with Ubuntu Studio. Alessio, feel free to contact me by mail if you feel that we tweak better. [wiki:Ttoine ttoine]

Alessio has now joined the UbuntuStudio team. Hopefully we can get this work into Ubuntu for the next release. Smile :) -CKontros


CategorySpec

RealTime (last edited 2011-02-23 10:51:46 by cache1)