[bootlin/training-materials updates] master: Kernel slides: misc updates (de8ab990)

Michael Opdenacker michael.opdenacker at bootlin.com
Mon Feb 22 13:42:51 CET 2021


Repository : https://github.com/bootlin/training-materials
On branch  : master
Link       : https://github.com/bootlin/training-materials/commit/de8ab99046948cff7826b8cd51bba35e7e96c835

>---------------------------------------------------------------

commit de8ab99046948cff7826b8cd51bba35e7e96c835
Author: Michael Opdenacker <michael.opdenacker at bootlin.com>
Date:   Mon Feb 22 13:42:51 2021 +0100

    Kernel slides: misc updates
    
    Signed-off-by: Michael Opdenacker <michael.opdenacker at bootlin.com>


>---------------------------------------------------------------

de8ab99046948cff7826b8cd51bba35e7e96c835
 .../kernel-driver-development-dma.tex                      |  2 +-
 .../kernel-driver-development-memory.tex                   |  6 +++---
 .../kernel-power-management-content.tex                    | 14 +++++++-------
 3 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/slides/kernel-driver-development-dma/kernel-driver-development-dma.tex b/slides/kernel-driver-development-dma/kernel-driver-development-dma.tex
index 7cfae65d..126262aa 100644
--- a/slides/kernel-driver-development-dma/kernel-driver-development-dma.tex
+++ b/slides/kernel-driver-development-dma/kernel-driver-development-dma.tex
@@ -212,7 +212,7 @@ void dma_unmap_single(struct device *dev, dma_addr_t handdle,
 
 \begin{frame}
   \frametitle{DMAEngine slave API (1)}
-    In order to start a DMA transfer, you need to call the
+    In order to start a DMA transfer with DMAEngine, you need to call the
     following functions from your driver
     \begin{enumerate}
     \item Request a channel for exclusive use with
diff --git a/slides/kernel-driver-development-memory/kernel-driver-development-memory.tex b/slides/kernel-driver-development-memory/kernel-driver-development-memory.tex
index 3310cd2d..78b08a04 100644
--- a/slides/kernel-driver-development-memory/kernel-driver-development-memory.tex
+++ b/slides/kernel-driver-development-memory/kernel-driver-development-memory.tex
@@ -86,7 +86,7 @@
     (more than available physical memory) $\Rightarrow$ can lead to
     out of memory
   \item OOM killer kicks in and selects a process to kill to retrieve
-    some memory.  That's better than letting the system freeze.
+    some memory. That's better than letting the system freeze.
   \end{itemize}
 \end{frame}
 
@@ -192,13 +192,13 @@
   \frametitle{SLAB Allocator 1/2}
   \begin{itemize}
   \item The SLAB allocator allows to create {\em caches}, which contain a
-    set of objects of the same size
+    set of objects of the same size. In English, {\em slab} means {\em tile}.
   \item The object size can be smaller or greater than the page size
   \item The SLAB allocator takes care of growing or reducing the size
     of the cache as needed, depending on the number of allocated
     objects. It uses the page allocator to allocate and free pages.
   \item SLAB caches are used for data structures that are present in
-    many many instances in the kernel: directory entries, file
+    many instances in the kernel: directory entries, file
     objects, network packet descriptors, process descriptors, etc.
     \begin{itemize}
     \item See \code{/proc/slabinfo}
diff --git a/slides/kernel-power-management-content/kernel-power-management-content.tex b/slides/kernel-power-management-content/kernel-power-management-content.tex
index 45efc91e..9dd47476 100644
--- a/slides/kernel-power-management-content/kernel-power-management-content.tex
+++ b/slides/kernel-power-management-content/kernel-power-management-content.tex
@@ -145,11 +145,9 @@
   \begin{itemize}
   \item The idle loop is what you run when there's nothing left to run
     in the system.
-  \item Implemented in all architectures in
+  \item \kfunc{arch_cpu_idle} implemented in all architectures in
     \code{arch/<arch>/kernel/process.c}
-  \item Example to read: look for \code{cpu_idle} in
-    \kfile{arch/arm/kernel/process.c}
-  \item Each ARM cpu defines its own \code{arch_idle} function.
+  \item Example: \kfile{arch/arm/kernel/process.c}
   \item The CPU can run power saving HLT instructions, enter NAP mode,
     and even disable the timers (tickless systems).
   \item See also \url{https://en.wikipedia.org/wiki/Idle_loop}
@@ -163,15 +161,15 @@
   \item Modern CPUs have several sleep states offering different
     power savings with associated wake up latencies
   \item The {\em dynamic tick} feature allows to remove the
-    periodic tick to save power, and to know when the next event is
+    periodic timer tick to save power, and to know when the next event is
     scheduled, for smarter sleeps.
   \item CPUidle infrastructure to change sleep states
     \begin{itemize}
     \item Platform-specific driver defining sleep states and
       transition operations
-    \item Platform-independent governors (ladder and menu)
+    \item Platform-independent governors
     \item Available in particular for x86/ACPI and most ARM SoCs
-    \item See \kerneldoctext{cpuidle/} in kernel sources.
+    \item See \kerneldochtml{admin-guide/pm/cpuidle} in kernel documentation.
     \end{itemize}
   \end{itemize}
 \end{frame}
@@ -185,6 +183,8 @@
   \item PowerTOP allows to track the worst offenders
   \item Now available on ARM cpus implementing CPUidle
   \item Also gives you useful hints for reducing power.
+  \item Try it on your x86 laptop:\\
+	\code{sudo powertop}
   \end{itemize}
 \end{frame}
 




More information about the training-materials-updates mailing list