RealTime

Differences between revisions 1 and 85 (spanning 84 versions)
Revision 1 as of 2007-01-09 16:20:53
Size: 1612
Editor: adsl203-157-083
Comment:
Revision 85 as of 2010-10-06 10:17:01
Size: 4647
Editor: cache1
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
##(see the SpecSpec for an explanation) == Realtime ==
Line 3: Line 3:
''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.'' '''Basic introduction is available at:'''<<BR>>
[[https://help.ubuntu.com/community/UbuntuStudio/RealTimeKernel]]
Line 5: Line 6:
## * '''Launchpad entry''': https://launchpad.net/distros/ubuntu/+spec/realtime
 * '''Created''': [[Date(2007-01-09T17:28:06Z)]] by AlessioIgorBogani
 * '''Contributors''': AlessioIgorBogani
 * '''Packages affected''': linux-source-2.6.20
'''News:''' <<BR>>
The -preempt and -rt kernels are died!
Line 10: Line 9:
== Summary == '''Make-up of the team and rules officially assigned:'''
||Leader|| ||vacant||
||Code & Packaging||-lowlatency||Luke Yelavich||
||Bug triage|| ||vacant||
||Kernel and DKMS external driver upload||-lowlatency||Luke Yelavich||
||Test|| ||vacant||
Line 12: Line 16:
This specification details the plan to add hard real time support in Ubuntu.
Line 14: Line 17:
== Rationale == '''Persons who would want help but not yet assigned to something:''' <<BR>>
- Asmo Koskinen: Test on -rt <<BR>>
- Erik Rasmussen : Test on -rt <<BR>>
- Mike Holstein : -realtime on Lucid <<BR>>
- ailo : -rt on Maverick with nvidia <<BR>>
- Brian David: <<BR>>
- Laurent Bellegarde: testing, advertising, conference, demonstration to large public <<BR>>
- Tim Cook: test on -rt and Relationships with other communities <<BR>>
- Jeremy Jongepier: Test and packaging on -rt/-realtime <<BR>>
- Scott Lavender: testing, packaging, Ubuntu relations, and Studio relation about -lowlatency <<BR>>
- Janne Jokitalo: Testing, packaging, Ubuntu and Ubuntu Studio relation, learning to generally tweak kernels <<BR>>
Line 16: Line 29:
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/).
Line 18: Line 30:
We want also a valid FLOSS alternative to SLERT (http://www.novell.com/products/realtime/). '''Work in progress:''' <<BR>>
Nvidia on -realtime kernel at Alessio's PPA: testers? <<BR>>
Line 20: Line 33:
== Use cases ==
Line 22: Line 34:
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. '''Known issues:''' <<BR>>
Missing a decent FAQ section <<BR>>
ATI (fglrx): volunteers? <<BR>>
Firewire audio devices: again volunteers? <<BR>>
Line 24: Line 39:
== Scope ==
Line 26: Line 40:
This specification cover the linux kernel in Ubuntu. '''FAQ:''' <<BR>>
What mean when someone say "I would want -rt kernel" instead of "I would want -realtime kernel"?
Line 28: Line 43:
== Design == From a technical point of view -rt and -realtime are the same kernel. They could diverge on PREEMPT_RT patchset version offered but both are always based on that. The main difference is that -rt should be based on Ubuntu source tree (so you can use the same features, patch, hardware enabled, security fixes and so on) and should do offer the same services that Ubuntu default and standard -generic kernel offer. For example it should be compatible with closed video drivers (nvidia and fglrx), any external DKMS drivers and make available backports package. Final goal it is to obtain a real time variant of the Ubuntu kernel (so it should be aligned with -generic too).
Line 30: Line 45:
== Implementation == Instead when someone mentioned -realtime kernel he are talking about an PREEMPT_RT patched kernel based on vanilla source tree (nor Ubuntu one). So that kernels miss some Ubuntu specific code, patches or security fixes and it isn't guarantee compatibility with any external software (that is low level utility, DKMS drivers and so on) and it don't use the same Linux kernel version of the -generic one (so are misaligned). In fact it is a working upstream real time kernel version on Ubuntu no more no less.
Line 32: Line 47:
We hope to add a linux-image-realtime package in universe repositary (the same place of the linux-image-lowlatency package). {{{#!wiki comment
Line 34: Line 49:
=== Code === -lowlatency == -generic + more aggressive low latency kernel configuration
It can offers all things that Ubuntu offer with -generic so -backport
modules, video closed drivers and so on. It is very solid and oriented
to "soft" users. Trade-off between low latency and power consumption.
Line 36: Line 54:
=== Data preservation and migration === In less words: if you need of closed video drivers, external DKMS
kernel modules, linux-backports-* you should probably start to use
-lowlatency (when it will be available through Ubuntu repos). Instead
if you really need of an real-time system you should avoid all above
or trying to make those working alone.
Line 38: Line 60:
== Unresolved issues ==
Line 40: Line 61:
== BoF agenda and discussion == To put it simply: -lowlatency all the way! It delivers impressive
results for maintenance requirements way lower than -realtime (or -rt
even more), meaning less work for maintainers and new kernel candy for
users.
Line 42: Line 66:
----
CategorySpec CategorySpec
Life is a trade-off: someone want a very hard real-time system without
adopt other hardware architectures than pc (MCU, FPGA/ASIC, and so
on), others want use normal and cheap pc, others want use also
accelerated drivers also, others want a real-system which take care of
they laptop's batteries too. And at the end we have limited
resources(*) for give an answer on these needs (we are all
volunteers).

}}}


=== Ancient stuff ===
These wiki pages covers hard real time support in Ubuntu.

[[RealTime/Feisty|RealTime Feisty]] <<BR>>
[[RealTime/Gutsy|RealTime Gutsy]] <<BR>>
[[RealTime/Hardy|RealTime Hardy]] <<BR>>
[[RealTime/Intrepid|RealTime Intrepid]] <<BR>>
[[RealTime/Jaunty|RealTime Jaunty]] <<BR>>
[[RealTime/Karmic|RealTime Karmic]] <<BR>>
[[RealTime/Lucid|RealTime Lucid]]

The RT kernel is still around! If you can help by describing it's current state, please do so. In the mean time see the official [[http://rt.wiki.kernel.org|rt.wiki.kernel.org]] and the [[http://ubuntustudio.org/|Ubuntu Studio]] team for more information.

Realtime

Basic introduction is available at:
https://help.ubuntu.com/community/UbuntuStudio/RealTimeKernel

News:
The -preempt and -rt kernels are died!

Make-up of the team and rules officially assigned:

Leader

vacant

Code & Packaging

-lowlatency

Luke Yelavich

Bug triage

vacant

Kernel and DKMS external driver upload

-lowlatency

Luke Yelavich

Test

vacant

Persons who would want help but not yet assigned to something:
- Asmo Koskinen: Test on -rt
- Erik Rasmussen : Test on -rt
- Mike Holstein : -realtime on Lucid
- ailo : -rt on Maverick with nvidia
- Brian David:
- Laurent Bellegarde: testing, advertising, conference, demonstration to large public
- Tim Cook: test on -rt and Relationships with other communities
- Jeremy Jongepier: Test and packaging on -rt/-realtime
- Scott Lavender: testing, packaging, Ubuntu relations, and Studio relation about -lowlatency
- Janne Jokitalo: Testing, packaging, Ubuntu and Ubuntu Studio relation, learning to generally tweak kernels

Work in progress:
Nvidia on -realtime kernel at Alessio's PPA: testers?

Known issues:
Missing a decent FAQ section
ATI (fglrx): volunteers?
Firewire audio devices: again volunteers?

FAQ:
What mean when someone say "I would want -rt kernel" instead of "I would want -realtime kernel"?

From a technical point of view -rt and -realtime are the same kernel. They could diverge on PREEMPT_RT patchset version offered but both are always based on that. The main difference is that -rt should be based on Ubuntu source tree (so you can use the same features, patch, hardware enabled, security fixes and so on) and should do offer the same services that Ubuntu default and standard -generic kernel offer. For example it should be compatible with closed video drivers (nvidia and fglrx), any external DKMS drivers and make available backports package. Final goal it is to obtain a real time variant of the Ubuntu kernel (so it should be aligned with -generic too).

Instead when someone mentioned -realtime kernel he are talking about an PREEMPT_RT patched kernel based on vanilla source tree (nor Ubuntu one). So that kernels miss some Ubuntu specific code, patches or security fixes and it isn't guarantee compatibility with any external software (that is low level utility, DKMS drivers and so on) and it don't use the same Linux kernel version of the -generic one (so are misaligned). In fact it is a working upstream real time kernel version on Ubuntu no more no less.

Ancient stuff

These wiki pages covers hard real time support in Ubuntu.

RealTime Feisty
RealTime Gutsy
RealTime Hardy
RealTime Intrepid
RealTime Jaunty
RealTime Karmic
RealTime Lucid

The RT kernel is still around! If you can help by describing it's current state, please do so. In the mean time see the official rt.wiki.kernel.org and the Ubuntu Studio team for more information.

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