This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Last revision Both sides next revision | ||
realtime:documentation:start [2016/12/02 14:46] bigeasy |
realtime:documentation:start [2020/02/21 19:38] rostedt |
||
---|---|---|---|
Line 22: | Line 22: | ||
<WRAP half column> | <WRAP half column> | ||
+ | ===== Stable RT Releases ===== | ||
+ | |||
+ | If the PREEMPT_RT patch was ported to a Linux kernel version that is flagged as a [[https://kernel.org|stable release at kernel.org]], then that port will continue to be forward ported with each new stable release for that kernel version. The stable kernels can be cloned from the [[https://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-stable-rt.git/|stable git repository]] as well as downloaded as [[https://mirrors.edge.kernel.org/pub/linux/kernel/projects/rt/|single patches or a tarball of a quilt series of patches]]. | ||
+ | |||
+ | The PREEMPT_RT stable releases are updated in two fashions. | ||
+ | |||
+ | * Merged with the upstream Linux stable kernel. | ||
+ | |||
+ | * Backports of commits from the [[https://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-rt-devel.git/|current PREEMPT_RT development repository]] | ||
+ | |||
+ | Tagging policy of the PREEMPT_RT stable releases. Each PREEMPT_RT stable release is tagged with the version number of the upstream Linux stable kernel as well as its own "-rt" counter that is appended. The -rt counter will increment for the following: | ||
+ | |||
+ | * When forward ported to the latest upstream Linux stable version. | ||
+ | |||
+ | * When any merge with a upstream Linux stable causes a conflict. | ||
+ | |||
+ | * When a backport of the PREEMPT_RT development branch is done. | ||
+ | |||
+ | A backport will not be done with a forward port of a stable version. They will be done separately, and tagged separately. | ||
+ | |||
+ | The "-rebase" branch is how the series of patches are created. The "-rebase" is only done for forward ports to the latest upstream Linux stable versions, and for backports of the PREEMPT_RT development branch. It is not done for a conflict with a upstream Linux stable merge, unless that stable version is the latest one. As the name suggests, the "-rebase" branch will rebase, to allow each commit added by the PREEMPT_RT code to be applied in the order to the upstream Linux stable version it is based on. This is not the case with the normal "-rt" branch, which is never rebased. | ||
+ | |||
===== Technical details of PREEMPT_RT patch ===== | ===== Technical details of PREEMPT_RT patch ===== | ||
The main aim of the PREEMPT_RT patch is to //minimize the amount of kernel code that is non-preemptible// ((Paul McKenney. A realtime preemption overview. [[https://lwn.net/Articles/146861/]])). Therefore several substitution mechanisms and new mechanisms are implemented. | The main aim of the PREEMPT_RT patch is to //minimize the amount of kernel code that is non-preemptible// ((Paul McKenney. A realtime preemption overview. [[https://lwn.net/Articles/146861/]])). Therefore several substitution mechanisms and new mechanisms are implemented. | ||
- | <WRAP rightalign>[[realtime:documentation:technical_preempt_rt|Read more about technical details]]</WRAP> | + | <WRAP rightalign>[[realtime:documentation:technical_details:start|Read more about technical details]]</WRAP> |
</WRAP> | </WRAP> | ||
Line 36: | Line 58: | ||
There are three categories of HOWTOs: | There are three categories of HOWTOs: | ||
- | * [[realtime:documentation:howto:howto_rt_main|RTOS and RT application]] | + | * [[realtime:documentation:howto:applications:start|RTOS and RT application]] |
- | * [[realtime:documentation:howto:howto_dbg_main|RT Debugging]] | + | * [[realtime:documentation:howto:debugging:start|RT latency debugging]] |
- | * [[realtime:documentation:howto:howto_tools_main|RT tools and utilities]] | + | * [[realtime:documentation:howto:tools:start|RT tools and utilities]] |
</WRAP> | </WRAP> | ||
Line 48: | Line 70: | ||
Several real-time related publications can help broaden your knowledge | Several real-time related publications can help broaden your knowledge | ||
- | about real-time systems. | + | about real-time systems. Regarding PREEMPT_RT, a recent survey of available scientific works |
+ | [[https://dl.acm.org/citation.cfm?id=3297714|have been published]] ([[https://re.public.polimi.it/handle/11311/1076057|open access link]]). | ||
<WRAP rightalign>[[realtime:documentation:publications|Read more about publications]]</WRAP> | <WRAP rightalign>[[realtime:documentation:publications|Read more about publications]]</WRAP> | ||
Line 60: | Line 83: | ||
Some functionality is not available on RT because its implementation | Some functionality is not available on RT because its implementation | ||
- | is not compatible with RT. Those limitations can be true for everyone or it | + | is not compatible with RT. Those limitations may apply to the to the |
- | be architecture, platform or driver specific. | + | kernel as a whole or may apply to specific architecture or platforms. |
<WRAP rightalign>[[realtime:documentation:known_limitations|Read more about known limitations]]</WRAP> | <WRAP rightalign>[[realtime:documentation:known_limitations|Read more about known limitations]]</WRAP> | ||
Line 68: | Line 91: | ||
</WRAP> | </WRAP> | ||
+ | ---- | ||
+ | <WRAP rightalign>Go back to [[realtime:start|Real-Time Main Page]]</WRAP> |