[bootlin/training-materials updates] master: Realtime slides: minor improvements (5783c09d)
Michael Opdenacker
michael.opdenacker at bootlin.com
Wed Sep 23 10:16:48 CEST 2020
Repository : https://github.com/bootlin/training-materials
On branch : master
Link : https://github.com/bootlin/training-materials/commit/5783c09d08b836fe527762d5948738bd4b5f0d30
>---------------------------------------------------------------
commit 5783c09d08b836fe527762d5948738bd4b5f0d30
Author: Michael Opdenacker <michael.opdenacker at bootlin.com>
Date: Wed Sep 23 10:16:48 2020 +0200
Realtime slides: minor improvements
Signed-off-by: Michael Opdenacker <michael.opdenacker at bootlin.com>
>---------------------------------------------------------------
5783c09d08b836fe527762d5948738bd4b5f0d30
slides/sysdev-realtime/sysdev-realtime.tex | 29 +++++++++++++++--------------
1 file changed, 15 insertions(+), 14 deletions(-)
diff --git a/slides/sysdev-realtime/sysdev-realtime.tex b/slides/sysdev-realtime/sysdev-realtime.tex
index 2facedbe..3a4dfb44 100644
--- a/slides/sysdev-realtime/sysdev-realtime.tex
+++ b/slides/sysdev-realtime/sysdev-realtime.tex
@@ -339,8 +339,7 @@
scheduler, increased multiprocessor safety (work on RT preemption
was useful to identify hard to find SMP bugs).
\item Can also benefit from a lower timer frequency (several possible
- values between 100 Hz and 1000 Hz)
- of 250, 300 or 1000).
+ values between 100 Hz and 1000 Hz).
\end{itemize}
\end{frame}
@@ -497,7 +496,7 @@
otherwise the PREEMPT\_RT patch may not apply and may require
some adaptations
\item Similarly, only long term stable releases of the kernel
- are supported, currently: 5.4, 4.19, 4.14, 4.9, 4.4.
+ are supported, currently: 5.9, 5.4, 4.19, 4.14, 4.9, 4.4.
This is yet another advantage of using an LTS kernel release!
\item Officially supported versions:
\url{https://wiki.linuxfoundation.org/realtime/preempt_rt_versions}
@@ -691,19 +690,19 @@ pthread_join(pthread_t *thread, void **value_ptr);
\begin{frame}
\frametitle{Scheduling classes (2)}
\begin{itemize}
- \item The real-time classes \code{SCHED_FIFO}, \code{SCHED_RR} and
- \code{SCHED_DEADLINE}
+ \item The real-time classes \ksym{SCHED_FIFO}, \ksym{SCHED_RR} and
+ \ksym{SCHED_DEADLINE}
\begin{itemize}
+ \item RT Priorities ranging from 0 (lowest) to 99 (highest)
\item The highest RT priority process gets all the CPU time, until it
blocks.
- \item With \code{SCHED_FIFO}, {\em First In, First Out}, each additional
+ \item With \ksym{SCHED_FIFO}, {\em First In, First Out}, each additional
process with the same RT priority has to wait for the first ones to block.
- \item In \code{SCHED_RR}, {\em Round-Robin} scheduling between the
+ \item In \ksym{SCHED_RR}, {\em Round-Robin} scheduling between the
processes with the same RT priority. All must block before
lower priority processes get CPU time.
- \item In \code{SCHED_DEADLINE}: guarantees that an RT task
+ \item In \ksym{SCHED_DEADLINE}: guarantees that an RT task
will be given an exact amount of cpu time every period.
- \item RT Priorities ranging from 0 (lowest) to 99 (highest)
\end{itemize}
\end{itemize}
See \url{https://man7.org/linux/man-pages/man7/sched.7.html} for
@@ -717,9 +716,9 @@ pthread_join(pthread_t *thread, void **value_ptr);
class with a specific priority using the \code{chrt} command line tool
\begin{itemize}
\item Example: \code{chrt -f 99 ./myprog} \\
- \code{-f}: \code{SCHED_FIFO}\\
- \code{-r}: \code{SCHED_RR}\\
- \code{-d}: \code{SCHED_DEADLINE}
+ \code{-f}: \ksym{SCHED_FIFO}\\
+ \code{-r}: \ksym{SCHED_RR}\\
+ \code{-d}: \ksym{SCHED_DEADLINE}
\end{itemize}
\item The \code{sched_setscheduler()} API can be used to change the scheduling class
and priority of a process
@@ -730,8 +729,8 @@ int sched_setscheduler(pid_t pid, int policy,
\end{verbatim}
\end{block}{}
\begin{itemize}
- \item \code{policy} can be \code{SCHED_OTHER}, \code{SCHED_FIFO},
- \code{SCHED_RR}, \code{SCHED_DEADLINE}, etc. (others exist).
+ \item \code{policy} can be \code{SCHED_OTHER}, \ksym{SCHED_FIFO},
+ \ksym{SCHED_RR}, \ksym{SCHED_DEADLINE}, etc. (others exist).
\item \code{param} is a structure containing the priority
\end{itemize}
\end{itemize}
@@ -1309,6 +1308,8 @@ ret = bind(s, (struct sockaddr *)&saddr, sizeof(saddr));
\begin{frame}
\frametitle{Organizations}
\begin{itemize}
+ \item \url{https://wiki.linuxfoundation.org/realtime/start}\\
+ The Linux Foundation, now funding work on PREEMPT\_RT
\item \url{https://www.osadl.org}\\
Open Source Automation Development Lab (OSADL)\\
Targets machine and plant control systems. Most member companies
More information about the training-materials-updates
mailing list