This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
realtime:documentation:start [2017/02/08 14:12] anna-maria all howtos are now in own subnamespaces |
realtime:documentation:start [2023/10/02 08:43] (current) costa.shul fix layout |
||
---|---|---|---|
Line 9: | Line 9: | ||
<WRAP half column> | <WRAP half column> | ||
+ | ===== HOWTOs ===== | ||
+ | |||
+ | There are three categories of HOWTOs: | ||
+ | |||
+ | * [[realtime:documentation:howto:applications:start|RTOS and RT application]] | ||
+ | * [[realtime:documentation:howto:debugging:start|RT latency debugging]] | ||
+ | * [[realtime:documentation:howto:tools:start|RT tools and utilities]] | ||
+ | |||
===== Technical Basics ===== | ===== Technical Basics ===== | ||
Line 19: | Line 27: | ||
<WRAP rightalign>[[realtime:documentation:technical_basics:start|Read more about technical basics]]</WRAP> | <WRAP rightalign>[[realtime:documentation:technical_basics:start|Read more about technical basics]]</WRAP> | ||
- | </WRAP> | ||
- | |||
- | <WRAP half column> | ||
===== 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> | + | ===== Publications ===== |
- | <WRAP half column> | + | Several real-time related publications can help broaden your knowledge |
+ | 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]]). | ||
- | ===== HOWTOs ===== | + | <WRAP rightalign>[[realtime:documentation:publications|Read more about publications]]</WRAP> |
- | There are three categories of HOWTOs: | ||
- | * [[realtime:documentation:howto:applications:start|RTOS and RT application]] | + | ===== Known Limitations ===== |
- | * [[realtime:documentation:howto:debugging:start|RT Debugging]] | + | Some functionality is not available on RT because its implementation |
+ | is not compatible with RT. Those limitations may apply to the to the | ||
+ | kernel as a whole or may apply to specific architecture or platforms. | ||
+ | |||
+ | <WRAP rightalign>[[realtime:documentation:known_limitations|Read more about known limitations]]</WRAP> | ||
- | * [[realtime:documentation:howto:tools:start|RT tools and utilities]] | ||
</WRAP> | </WRAP> | ||
<WRAP half column> | <WRAP half column> | ||
- | ===== Publications ===== | + | ===== Stable RT Releases ===== |
- | Several real-time related publications can help broaden your knowledge | + | 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]]. |
- | about real-time systems. | + | |
- | <WRAP rightalign>[[realtime:documentation:publications|Read more about publications]]</WRAP> | + | The PREEMPT_RT stable releases are updated in two fashions. |
+ | * Merged with the upstream Linux stable kernel. | ||
- | </WRAP> | + | * 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: | ||
- | <WRAP half column> | + | * When forward ported to the latest upstream Linux stable version. |
- | ===== Known Limitations ===== | + | |
- | Some functionality is not available on RT because its implementation | + | * When any merge with a upstream Linux stable causes a conflict. |
- | is not compatible with RT. Those limitations may apply to the to the | + | |
- | kernel as a whole or may apply to specific architecture or platforms. | + | |
- | <WRAP rightalign>[[realtime:documentation:known_limitations|Read more about known limitations]]</WRAP> | + | * 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. | ||
</WRAP> | </WRAP> | ||
+ | ---- | ||
+ | <WRAP rightalign>Go back to [[realtime:start|Real-Time Main Page]]</WRAP> |