blob: a969f07b2b0b1696770b4a23e7f86437e09a8653 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
\input{configpres}
\title{The Preempt RT Patches}
\maketitle
\subsection{Verification}
\begin{frame}
\frametitle{Testing Preempt RT Systems}
RT Tests:
\begin{itemize}
\item cyclictest
\item hwlatdetect
\item pi\_stress
\item signaltest
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Cyclictest}
\begin{itemize}
\item Originally developed by Thomas Gleixner for Preempt RT testing
\item High Resolution Timer test software
\item Creates any number of cyclic realtime tasks with varying priorities and varying intervals
\item Provides lots of debugging possibilities
\item Yields very significant results to determine the realtime behavior of a platform
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Load Scenarios}
Suitable load scenarios in order to create worst-case situations:
\begin{itemize}
\item CPU Load: ''hackbench'', orginally written for scheduler benchmarking
\item Interrupt Load: flood pinging (''ping -f'')
\end{itemize}
\end{frame}
\begin{frame}[fragile]
\frametitle{Pitfall!}
\begin{verbatim}
cat /proc/sys/kernel/sched_rt_runtime_us
\end{verbatim}
\begin{figure}
\centering
\includegraphics[height=0.4\textwidth]{images/pitfall.png}
\end{figure}
\end{frame}
\subsection{Application Development}
\begin{frame}
\frametitle{Realtime Applications with Preempt RT}
\begin{figure}
\includegraphics[height=0.4\textwidth]{images/thumb.png}
\end{figure}
POSIX!
\end{frame}
\begin{frame}
\frametitle{Scheduling Policies}
\begin{itemize}
\item SCHED\_FIFO: Static priority
\item SCHED\_RR: Round Robin with priority
\item SCHED\_OTHER: Non-realtime priority
\end{itemize}
\end{frame}
\input{tailpres}
|