Hardy

Differences between revisions 2 and 9 (spanning 7 versions)
Revision 2 as of 2007-10-19 08:23:18
Size: 2626
Editor: adsl203-157-083
Comment:
Revision 9 as of 2007-10-26 10:37:02
Size: 5306
Editor: adsl203-157-083
Comment:
Deletions are marked like this. Additions are marked like this.
Line 7: Line 7:
 * '''Contributors''':  * '''Contributors''': PeterLJones
Line 13: Line 13:
This specification details the plan to improve hard real time support in Ubuntu Hardy. 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.
Line 15: Line 15:
== Release Note ==

This section should include a paragraph describing the end-user impact of this change. It is meant to be included in the release notes of the first release in which it is implemented. (Not all of these will actually be included in the release notes, at the release manager's discretion; but writing them is a useful exercise.)

It is mandatory.
##== Release Note ==
##
##
This section should include a paragraph describing the end-user impact of this change. It is meant to be included
##
in the release notes of the first release in which it is implemented. (Not all of these will actually be included
##
in the release notes, at the release manager's discretion; but writing them is a useful exercise.)
##
##
It is mandatory.
Line 23: Line 25:
This should cover the _why_: why is this change being proposed, what justifies it, where we see this justified. 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.
Line 27: Line 29:
== Assumptions == 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 29: Line 31:
== Design == 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 31: Line 33:
You can have subsections that better describe specific parts of the issue. ##Other use cases?
Line 33: Line 35:
== Implementation == == Scope ==
Line 35: Line 37:
This section should describe a plan of action (the "how") to implement the changes discussed. Could include subsections like: This specification covers the rt linux kernel flavour in Ubuntu.
Line 37: Line 39:
=== UI Changes === ##== Assumptions ==
Line 39: Line 41:
Should cover changes required to the UI, or specific UI that is required to implement this ##== Design ==
##
##You can have subsections that better describe specific parts of the issue.
Line 41: Line 45:
=== Code Changes === ##== Implementation ==
##
##This section should describe a plan of action (the "how") to implement the changes discussed. Could include
##subsections like:
Line 43: Line 50:
Code changes should include an overview of what needs to change, and in some cases even the specific details. ##=== UI Changes ===
##
##Should cover changes required to the UI, or specific UI that is required to implement this
Line 45: Line 54:
=== Migration === ##=== Code Changes ===
##
##Code changes should include an overview of what needs to change, and in some cases even the specific details.
Line 47: Line 58:
Include:
 * data migration, if any
 * redirects from old URLs to new ones, if any
 * how users will be pointed to the new way of doing things, if necessary.
##=== Migration ===
##
##
Include:
## * data migration, if any
## * redirects from old URLs to new ones, if any
## * how users will be pointed to the new way of doing things, if necessary.
Line 52: Line 65:
== Test/Demo Plan == ##== Test/Demo Plan ==
Line 54: Line 67:
It's important that we are able to test new features, and demonstrate them to users. Use this section to describe a short plan that anybody can follow that demonstrates the feature is working. This can then be used during CD testing, and to show off after release. ##It's important that we are able to test new features, and demonstrate them to users. Use this section to describe a
##
short plan that anybody can follow that demonstrates the feature is working. This can then be used during CD
##
testing, and to show off after release.
##
##This need not be added or completed until the specification is nearing beta.
Line 56: Line 73:
This need not be added or completed until the specification is nearing beta. ##== Outstanding Issues ==
##
##This should highlight any issues that should be addressed in further specifications, and not problems with the
##specification itself; since any specification with problems cannot be approved.
Line 58: Line 78:
== Outstanding Issues == == FAQ ==
Line 60: Line 80:
This should highlight any issues that should be addressed in further specifications, and not problems with the specification itself; since any specification with problems cannot be approved. '''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 we don't include anything because we 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) 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 realtime preemption support (if any).
Line 64: Line 91:
Use this section to take notes during the BoF; if you keep it in the approved spec, use it for summarising what was discussed and note any options that were rejected. Team creation? [[BR]]
Posix File Capabilties? [[BR]]
Backport of the last upstream code? [[BR]]
Debug packages? [[BR]]
RT Test suite? [[BR]]

Need to review: [[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[[BR]]
3. On some machine esd with realtime kernel freeze GNOME (please kill esd and relaunch it after)[[BR]]
4. Restricted modules could increase latencies (please buy only hardware which have a free driver!) [[BR]]


 * Any suggestions/feedbacks/requests? [wiki:AlessioIgorBogani Alessio] [[BR]][[BR]]

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

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.

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...).

Scope

This specification covers the rt linux kernel flavour in Ubuntu.

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 we don't include anything because we 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) 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 realtime preemption support (if any).

BoF agenda and discussion

Team creation? BR Posix File Capabilties? BR Backport of the last upstream code? BR Debug packages? BR RT Test suite? BR

Need to review: 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 issuesBR 3. On some machine esd with realtime kernel freeze GNOME (please kill esd and relaunch it after)BR 4. Restricted modules could increase latencies (please buy only hardware which have a free driver!) BR


CategorySpec

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