Hardy

Differences between revisions 27 and 42 (spanning 15 versions)
Revision 27 as of 2007-12-21 12:23:58
Size: 5469
Editor: adsl203-157-083
Comment:
Revision 42 as of 2008-11-07 15:34:02
Size: 6199
Editor: d83-183-69-42
Comment: link to bug report
Deletions are marked like this. Additions are marked like this.
Line 6: Line 6:
 * '''Created''': [[Date(2007-10-17T14:57:00Z)]] by AlessioIgorBogani
 * '''Contributors''': [wiki:PeterLJones PeterLJones], [wiki:DeraldWoods DeraldWoods], [wiki:miguel Miguel]
 * '''Source Package''':
 * '''Binaries Packages''':
 * '''Created''': <<Date(2007-10-17T14:57:00Z)>> by AlessioIgorBogani
 * '''Contributors''': [[PeterLJones|PeterLJones]], [[DeraldWoods|DeraldWoods]], [[miguel|Miguel]]
 * '''Source Package''': linux
 * '''Binaries Packages''': linux-image-2.6.24-X-rt, linux-headers-2.6.24-X-rt, linux-restricted-modules-2.6.24-X-rt, linux-ubuntu-modules-2.6.24-X-rt
Line 21: Line 21:
'''1. Deterministic (Hard-Realtime)''' [Industrial Control, Robotics, Automation, DAQ, etc.][[BR]] '''1. Deterministic (Hard-Realtime)''' [Industrial Control, Robotics, Automation, DAQ, etc.]<<BR>>
Line 23: Line 23:
    * Alex is developing an application ([http://en.wikipedia.org/wiki/SCADA SCADA] type) for a customer and he would be very happy to use Linux and Ubuntu for the deployment.     * Alex is developing an application ([[http://en.wikipedia.org/wiki/SCADA|SCADA]] type) for a customer and he would be very happy to use Linux and Ubuntu for the deployment.
Line 27: Line 27:
'''2. Non-Deterministic (Low-Latency)''' [Data Sampling, Analysis Tools, Realtime Monitoring, etc.][[BR]] '''2. Non-Deterministic (Low-Latency)''' [Data Sampling, Analysis Tools, Realtime Monitoring, etc.]<<BR>>
Line 29: Line 29:
    * Beth is a user wanting application stability but with real-time performance capability for running Audio and MIDI applications (such as [http://jackaudio.org/ JACK] and its clients). This could include running a full [http://www.x.org X]/[http://www.gtk.org Gtk] UI stack with [http://www.winehq.com WINE] and/or [http://www.joebutton.co.uk/fst/ FST], with networking to allow for collaborative performances (e.g. [http://ninjam.com NINJAM]). Stability: must be reliable enough for live performance (system hangs look terribly unprofessional). Performance: no dropped MIDI messages (hanging notes suck...), no dropped audio frames (audio glitches suck...).     * Beth is a user wanting application stability but with real-time performance capability for running Audio and MIDI applications (such as [[http://jackaudio.org/|JACK]] and its clients). This could include running a full [[http://www.x.org|X]]/[[http://www.gtk.org|Gtk]] UI stack with [[http://www.winehq.com|Wine]] and/or [[http://www.joebutton.co.uk/fst/|FST]], with networking to allow for collaborative performances (e.g. [[http://ninjam.com|NINJAM]]). Stability: must be reliable enough for live performance (system hangs look terribly unprofessional). Performance: no dropped MIDI messages (hanging notes suck...), no dropped audio frames (audio glitches suck...).
Line 37: Line 37:
We will use the new kernel build system created by the Ubuntu Kernel Team for production kernel: [http://kernel.ubuntu.com/git?p=ubuntu/ubuntu-hardy.git;a=blob;hb=HEAD;f=debian/binary-custom.d/README More information about it]. Debug version and rt-tests package will be released through [https://help.launchpad.net/PPAQuickStart PPA] of the [https://launchpad.net/~ubuntu-rt RealTime Team]. We will use the new kernel build system created by the Ubuntu Kernel Team for production kernel: [[http://kernel.ubuntu.com/git?p=ubuntu/ubuntu-hardy.git;a=blob;hb=HEAD;f=debian/binary-custom.d/README|More nformation about it]].
Line 39: Line 39:
We use [wiki:KernelGitGuide Git] for handle kernel source code and [http://savannah.nongnu.org/projects/quilt Quilt] for handle the preempt-rt one. ##Debug version and
Line 41: Line 41:
Other utilities as like [[http://rt.wiki.kernel.org/index.php/Preemption_Test Preemption test]] or [[http://devresources.linux-foundation.org/craiger/hackbench/ hackbench]] are postponed to hardy+1. It is the same for integration with PolicyKit (framework for secure privilege elevation integration) and for RT related documentation due to lack of interest. Rt-tests packages will be released through [[https://launchpad.net/~abogani|Alessio's]] [[https://help.launchpad.net/PPA|PPA]] archive.

We use [[KernelGitGuide|Git]] for handle kernel source code and [[http://savannah.nongnu.org/projects/quilt|Quilt]] for handle the preempt-rt one.

Other utilities as like [[http://rt.wiki.kernel.org/index.php/Preemption_Test|Preemption test]] or [[http://devresources.linux-foundation.org/craiger/hackbench/|hackbench]] are postponed to hardy+1. It is the same for integration with PolicyKit (framework for secure privilege elevation integration) and for RT related documentation due to lack of interest.
Line 45: Line 49:
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 (probably local only) [[BR]]
3. Restricted modules increase latencies (please buy only hardware which have a free driver!) [[BR]]
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 (probably local only) <<BR>>
3. Restricted modules increase latencies (please buy only hardware which have a free driver!) <<BR>>
Line 50: Line 54:
Packages available in Hardy archives: [[BR]]
###linux-rt
###linut-image-rt
linux-image-2.6.24-2-rt [[BR]]
###linux-ubuntu-modules-2.6.24-XX-rt
###linux-headers-rt
linux-headers-2.6.24-2-rt [[BR]]
###linux-restricted-modules-rt
###linux-restricted-modules-2.6.24-XX-rt
###linux-backports-modules-rt
###linux-backports-modules-2.6.24-XX-rt
Packages available in Hardy archive: <<BR>>
linux-rt <<BR>>
linux-image-rt <<BR>>
linux-image-2.6.24-16-rt <<BR>>
linux-ubuntu-modules-2.6.24-16-rt <<BR>>
linux-headers-rt <<BR>>
linux-headers-2.6.24-16-rt <<BR>>
linux-restricted-modules-rt <<BR>>
linux-restricted-modules-2.6.24-16-rt <<BR>>
linux-backports-modules-rt <<BR>>
linux-backports-modules-hardy-rt <<BR>>
linux-backports-modules-2.6.24-16-rt <<BR>>

Packages available in [[https://launchpad.net/~abogani/+archive|Alessio's PPA]] archive: <<BR>>
rt-tests <<BR>>
Line 64: Line 72:
'''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]] '''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>>
Line 67: Line 75:
'''Q) Where can I find documentation?''' [[BR]] '''Q) Where can I find documentation?''' <<BR>>
Line 70: Line 78:
'''Q) What are the differences from vanilla Ingo Molnar's patch?''' [[BR]] '''Q) What are the differences from vanilla Ingo Molnar's patch?''' <<BR>>
Line 73: Line 81:
'''Q) What features will be included in Ubuntu rt kernel flavour?''' [[BR]] '''Q) What features will be included in Ubuntu rt kernel flavour?''' <<BR>>
Line 76: Line 84:
'''Q) How to get the source code? Is there a Git repository?''' [[BR]]
A) Sure! You can find it at [http://kernel.ubuntu.com/git Ubuntu Kernel Team's Git Repositories].
'''Q) How to get the source code? Is there a Git repository?''' <<BR>>
A) Sure! You can find it at [[http://kernel.ubuntu.com/git|Ubuntu Kernel Team's Git Repositories]].


'''Q) Why is SMP disabled''' <<BR>>
A) See bug report [[https://bugs.launchpad.net/ubuntu/+source/linux-rt/+bug/290498|290498]] and its duplicates (Do you know more on this subject? Please write a note here!).
Line 81: Line 93:
 * Any suggestions/feedbacks/requests? [wiki:AlessioIgorBogani Alessio] [[BR]][[BR]]  * Any suggestions/feedbacks/requests? [[AlessioIgorBogani|Alessio]] <<BR>><<BR>>
 * Is it available for i386, amd64 and ppc ?
   Unfortunately only i386 and amd64 are available so no ppc rt kernel flavour at the moment due to lack of resources (mainly ppc systems!)

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 improve hard real time support in Ubuntu Hardy. In particular, to comply with quality levels that users want from an LTS release.

Rationale

In order to push Ubuntu in very highly demanding business (e.g. industrial automation, financial, robotics, advanced multimedia and telco) and other contexts, it is necessary to improve real-time kernel flavour support.

Use Cases

1. Deterministic (Hard-Realtime) [Industrial Control, Robotics, Automation, DAQ, etc.]

  • Alex is developing an application (SCADA type) for a customer and he would be very happy to use Linux and Ubuntu for the deployment.

  • John is using the Ubuntu distribution, with the linux-rt kernel, as the RTOS, for a GANTRY type widget assembly application. The system has digital I/O, servo motors, and GPIB instrumentation.

2. Non-Deterministic (Low-Latency) [Data Sampling, Analysis Tools, Realtime Monitoring, etc.]

  • Beth is a user wanting application stability but with real-time performance capability for running Audio and MIDI applications (such as JACK and its clients). This could include running a full X/Gtk UI stack with Wine and/or FST, with networking to allow for collaborative performances (e.g. NINJAM). Stability: must be reliable enough for live performance (system hangs look terribly unprofessional). Performance: no dropped MIDI messages (hanging notes suck...), no dropped audio frames (audio glitches suck...).

Scope

This specification covers the rt linux kernel flavour in Ubuntu.

Implementation

We will use the new kernel build system created by the Ubuntu Kernel Team for production kernel: More nformation about it.

Rt-tests packages will be released through Alessio's PPA archive.

We use Git for handle kernel source code and Quilt for handle the preempt-rt one.

Other utilities as like Preemption test or hackbench are postponed to hardy+1. It is the same for integration with PolicyKit (framework for secure privilege elevation integration) and for RT related documentation due to lack of interest.

Outstanding Issues

1. High precision timers don't work on machine which have only PIT as souce clock more info
2. The realtime kernel could expose you to security issues (probably local only)
3. Restricted modules increase latencies (please buy only hardware which have a free driver!)

Packages available

Packages available in Hardy archive:
linux-rt
linux-image-rt
linux-image-2.6.24-16-rt
linux-ubuntu-modules-2.6.24-16-rt
linux-headers-rt
linux-headers-2.6.24-16-rt
linux-restricted-modules-rt
linux-restricted-modules-2.6.24-16-rt
linux-backports-modules-rt
linux-backports-modules-hardy-rt
linux-backports-modules-2.6.24-16-rt

Packages available in Alessio's PPA archive:
rt-tests

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?
A) We use _only_ the full Ubuntu Kernel (not vanilla, not custom version or other). The Ubuntu Realtime kernel is the Ubuntu Kernel plus the real-time pre-emption patch. Also the configuration (aka /boot/config*) is the same except for specific real-time options.

Q) Where can I find documentation?
A) All existing docs are available on http://rt.wiki.kernel.org

Q) What are the differences from vanilla Ingo Molnar's patch?
A) 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/linux-restricted-modules) and also remove all code which isn't strictly related to real-time preemption support (if any).

Q) What features will be included in Ubuntu rt kernel flavour?
A) CPU shielding, priority inheritance, sleeping spinlocks, interrupt threads and high-resolution timers and CFS optimizations.

Q) How to get the source code? Is there a Git repository?
A) Sure! You can find it at Ubuntu Kernel Team's Git Repositories.

Q) Why is SMP disabled
A) See bug report 290498 and its duplicates (Do you know more on this subject? Please write a note here!).

BoF agenda and discussion

  • Any suggestions/feedbacks/requests? Alessio

  • Is it available for i386, amd64 and ppc ?
    • Unfortunately only i386 and amd64 are available so no ppc rt kernel flavour at the moment due to lack of resources (mainly ppc systems!)


CategorySpec

RealTime/Hardy (last edited 2008-11-07 15:34:02 by d83-183-69-42)