Hardy
Size: 3147
Comment:
|
Size: 5757
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 7: | Line 7: |
* '''Contributors''': * '''Source Package''': * '''Binaries Packages''': |
* '''Contributors''': [wiki:PeterLJones PeterLJones], [wiki:DeraldWoods DeraldWoods], [wiki: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 13: | Line 13: |
This specification details the plan to improve hard real time support in Ubuntu Hardy. In particularly for comply with quality that users want by an LTS release. ##== 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. |
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 25: | Line 17: |
In order to push Ubuntu in very high demanding business contexts (i.e. industrial automation, financial, robotics and telco) it is necessary to improve realtime kernel flavour support. | 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 29: | Line 21: |
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. | '''1. Deterministic (Hard-Realtime)''' [Industrial Control, Robotics, Automation, DAQ, etc.][[BR]] |
Line 31: | Line 23: |
##Other 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. |
Line 33: | Line 25: |
##== Assumptions == | * 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. |
Line 35: | Line 27: |
##== Design == ## ##You can have subsections that better describe specific parts of the issue. |
'''2. Non-Deterministic (Low-Latency)''' [Data Sampling, Analysis Tools, Realtime Monitoring, etc.][[BR]] |
Line 39: | Line 29: |
##== Implementation == ## ##This section should describe a plan of action (the "how") to implement the changes discussed. Could include ##subsections like: |
* 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 44: | Line 31: |
##=== UI Changes === ## ##Should cover changes required to the UI, or specific UI that is required to implement this |
== Scope == |
Line 48: | Line 33: |
##=== Code Changes === ## ##Code changes should include an overview of what needs to change, and in some cases even the specific details. |
This specification covers the rt linux kernel flavour in Ubuntu. |
Line 52: | Line 35: |
##=== 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. |
== Implementation == |
Line 59: | Line 37: |
##== Test/Demo Plan == | 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]. Debug version and rt-tests packages will be released through [https://help.launchpad.net/PPAQuickStart PPA] of the [https://launchpad.net/~ubuntu-rt RealTime Team]. |
Line 61: | Line 39: |
##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. |
We use [wiki:KernelGitGuide Git] for handle kernel source code and [http://savannah.nongnu.org/projects/quilt Quilt] for handle the preempt-rt one. |
Line 67: | Line 41: |
##== 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. |
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. == Outstanding 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 (probably local only) [[BR]] 3. Restricted modules increase latencies (please buy only hardware which have a free driver!) [[BR]] == Packages available == Packages available in Hardy archive: [[BR]] linux-rt [[BR]] linut-image-rt [[BR]] linux-image-2.6.24-5-rt [[BR]] linux-ubuntu-modules-2.6.24-5-rt [[BR]] linux-headers-rt [[BR]] linux-headers-2.6.24-5-rt [[BR]] linux-restricted-modules-rt [[BR]] linux-restricted-modules-2.6.24-5-rt [[BR]] linux-backports-modules-hardy-rt [[BR]] linux-backports-modules-2.6.24-5-rt [[BR]] Packages available in [https://launchpad.net/~ubuntu-rt/+archive Ubuntu Realtime Team's PPA] archive: [[BR]] rt-tests [[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) 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?''' [[BR]] A) All existing docs are available on http://rt.wiki.kernel.org '''Q) What are the differences from 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 real-time preemption support (if any). '''Q) What features will be included in Ubuntu rt kernel flavour?''' [[BR]] 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?''' [[BR]] A) Sure! You can find it at [http://kernel.ubuntu.com/git Ubuntu Kernel Team's Git Repositories]. |
Line 74: | Line 84: |
##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? |
* 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.
Launchpad entry: https://blueprints.launchpad.net/ubuntu/+spec/realtime-hardy
Created: Date(2007-10-17T14:57:00Z) by AlessioIgorBogani
Contributors: [wiki:PeterLJones PeterLJones], [wiki:DeraldWoods DeraldWoods], [wiki: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
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.]BR
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.
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.]BR
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.
Implementation
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]. Debug version and rt-tests packages will be released through [https://help.launchpad.net/PPAQuickStart PPA] of the [https://launchpad.net/~ubuntu-rt RealTime Team].
We use [wiki: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.
Outstanding 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 (probably local only) BR 3. Restricted modules increase latencies (please buy only hardware which have a free driver!) BR
Packages available
Packages available in Hardy archive: BR linux-rt BR linut-image-rt BR linux-image-2.6.24-5-rt BR linux-ubuntu-modules-2.6.24-5-rt BR linux-headers-rt BR linux-headers-2.6.24-5-rt BR linux-restricted-modules-rt BR linux-restricted-modules-2.6.24-5-rt BR linux-backports-modules-hardy-rt BR linux-backports-modules-2.6.24-5-rt BR
Packages available in [https://launchpad.net/~ubuntu-rt/+archive Ubuntu Realtime Team's PPA] archive: BR rt-tests 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) 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? BR A) All existing docs are available on http://rt.wiki.kernel.org
Q) What are the differences from 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 real-time preemption support (if any).
Q) What features will be included in Ubuntu rt kernel flavour? BR 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? BR A) Sure! You can find it at [http://kernel.ubuntu.com/git Ubuntu Kernel Team's Git Repositories].
BoF agenda and discussion
Any suggestions/feedbacks/requests? [wiki:AlessioIgorBogani Alessio] BRBR
RealTime/Hardy (last edited 2008-11-07 15:34:02 by d83-183-69-42)