Gutsy

Differences between revisions 1 and 21 (spanning 20 versions)
Revision 1 as of 2007-05-29 11:33:20
Size: 4918
Editor: adsl203-157-083
Comment:
Revision 21 as of 2008-08-06 16:31:18
Size: 4271
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
 * '''Launchpad entry''': https://blueprints.launchpad.net/ubuntu/+spec/realtime
 * '''Created''': [[Date(2007-01-09T17:28:06Z)]] by AlessioIgorBogani
 * '''Launchpad entry''': https://blueprints.launchpad.net/ubuntu/+spec/realtime-gutsy
 * '''Created''': <<Date(2007-01-09T17:28:06Z)>> by AlessioIgorBogani
Line 9: Line 9:
 * '''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  * '''Binaries Packages''': linux-image-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
Line 19: Line 19:
We also want a valid FLOSS alternative to SLERT (http://www.novell.com/products/realtime/).
Line 24: Line 22:

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 35: Line 31:
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]. 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]].
Line 43: Line 39:
1. Seems that ACPI (and a good implementation of it) is [http://www.mail-archive.com/linux-rt-users@vger.kernel.org/msg00375.html 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 could expose you to security 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)<<BR>>
4. Restricted modules could increase latencies (please buy only hardware which have a free driver!)
Line 46: Line 44:
== Beta available ==

That package are already available in Gutsy archives:[[BR]]
linux-headers-2.6.22-1-rt[[BR]]
linux-image-2.6.22-1-rt[[BR]]
linux-restricted-modules-2.6.22-1-rt[[BR]]
linux-ubuntu-modules-2.6.22-1-rt[[BR]]
== Packages available ==
 
Packages available in Gutsy archives:<<BR>>
linux-rt<<BR>>
linut-image-rt<<BR>>
linux-image-2.6.22-14-rt<<BR>>
linux-ubuntu-modules-2.6.22-14-rt<<BR>>
linux-headers-rt<<BR>>
linux-headers-2.6.22-14-rt<<BR>>
linux-restricted-modules-rt<<BR>>
linux-restricted-modules-2.6.22-14-rt<<BR>>
linux-backports-modules-rt<<BR>>
linux-backports-modules-2.6.22-14-rt<<BR>>
Line 56: Line 60:
'''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 59: Line 63:
'''Q) Where can I find documentation?''' [[BR]] '''Q) Where can I find documentation?''' <<BR>>
Line 62: Line 66:
'''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).
'''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) and also remove all code which isn't strictly related to realtime preemption support (in example kvm/paravirt/hypercall). In order to be more precise these are included:
Line 65: Line 69:
== Todo == '''Q) What features are included in Ubuntu rt kernel flavour?'''<<BR>>
A) Completely Fair Scheduler <<BR>>
Spinlocks are replaced by realtime mutexes with priority inheritance <<BR>>
Interrupt handling threads <<BR>>
Preemptible RCU <<BR>>
Line 67: Line 75:
Set [http://packages.ubuntu.com/gutsy/utils/schedutils schedutils] package for Recommends field in linux-image binary package (for Gutsy).[[BR]] ## == Todo ==
Line 69: Line 77:
Add cyclictest package into Universe repositary (at this moment it is in [http://revu.tauware.de/details.py?upid=5013 REVU]). ## Add cyclictest package into Universe repositary (at this moment it is in [http://revu.tauware.de/details.py?upid=5013 REVU]).
Line 71: Line 79:
Do a request: Is it possible to rename packages from -rt to -realtime for Gutsy? I think that -realtime is more comprehensible. I would like to know it before that i start to create appropriate meta package.

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?

Ask for clarification: What i should do with this specification now that in the next Ubuntu Gutsy release realtime kernel is present? I set it as superseded or implemented? Or i should delete it?

Lacks linux-image-debug-2.6.22-1-rt, all linux-meta packages and linux-image-trace-2.6.22-1-rt.
## Investigate on PAM integration [https://bugs.launchpad.net/ubuntu/+source/pam/+bug/21556 See Bugs 21556] and [http://www.kernel.org/pub/linux/libs/pam/Linux-PAM-html/ these useful docs] [[BR]]
Line 83: Line 83:
 * Any suggestion/feedbacks/requests? [wiki:AlessioIgorBogani alessio] [[BR]][[BR]]  * Any suggestions/feedbacks/requests? [[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 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/).

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.

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. More information about it.

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

Packages available

Packages available in Gutsy archives:
linux-rt
linut-image-rt
linux-image-2.6.22-14-rt
linux-ubuntu-modules-2.6.22-14-rt
linux-headers-rt
linux-headers-2.6.22-14-rt
linux-restricted-modules-rt
linux-restricted-modules-2.6.22-14-rt
linux-backports-modules-rt
linux-backports-modules-2.6.22-14-rt

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

Q) Which are the differences with 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) and also remove all code which isn't strictly related to realtime preemption support (in example kvm/paravirt/hypercall). In order to be more precise these are included:

Q) What features are included in Ubuntu rt kernel flavour?
A) Completely Fair Scheduler
Spinlocks are replaced by realtime mutexes with priority inheritance
Interrupt handling threads
Preemptible RCU

BoF agenda and discussion

  • Any suggestions/feedbacks/requests? Alessio


CategorySpec

RealTime/Gutsy (last edited 2008-08-06 16:31:18 by localhost)