[FE training-materials-updates] android: Add slides about mainline status of the Android patches
Maxime Ripard
maxime.ripard at free-electrons.com
Thu Aug 22 11:51:56 CEST 2013
Repository : git://git.free-electrons.com/training-materials.git
On branch : jelly-bean
Link : http://git.free-electrons.com/training-materials/commit/?id=81c9aa088c479a4e8c32b959159735e979376259
>---------------------------------------------------------------
commit 81c9aa088c479a4e8c32b959159735e979376259
Author: Maxime Ripard <maxime.ripard at free-electrons.com>
Date: Tue Aug 20 14:11:09 2013 +0200
android: Add slides about mainline status of the Android patches
Signed-off-by: Maxime Ripard <maxime.ripard at free-electrons.com>
>---------------------------------------------------------------
81c9aa088c479a4e8c32b959159735e979376259
Makefile | 1 +
.../android-kernel-changes-mainline.tex | 73 ++++++++++++++++++++
.../android-kernel-changes-wakelocks.tex | 14 ----
3 files changed, 74 insertions(+), 14 deletions(-)
diff --git a/Makefile b/Makefile
index 2ab3be6..af3da19 100644
--- a/Makefile
+++ b/Makefile
@@ -152,6 +152,7 @@ ANDROID_SLIDES = \
android-kernel-changes-ion \
android-kernel-changes-network \
android-kernel-changes-misc \
+ android-kernel-changes-mainline \
android-bootloaders-title \
sysdev-bootloaders-sequence \
android-bootloaders-fastboot \
diff --git a/slides/android-kernel-changes-mainline/android-kernel-changes-mainline.tex b/slides/android-kernel-changes-mainline/android-kernel-changes-mainline.tex
new file mode 100644
index 0000000..b9ae26c
--- /dev/null
+++ b/slides/android-kernel-changes-mainline/android-kernel-changes-mainline.tex
@@ -0,0 +1,73 @@
+\subsection{Linux Mainline Patches Merge}
+\begin{frame}
+ \frametitle{History}
+ \begin{itemize}
+ \item The Android Kernel patches were kept for a long time out of
+ the official Linux release
+ \item They were first integrated in 2.6.29, in
+ \code{drivers/staging/android}
+ \item They were then removed from the kernel 2.6.35, because Google
+ was unwilling to help the mainlining process
+ \item They were then added back in 3.3 (around 2 years later) and
+ are still there at the time
+ \item While Google did a great job at keeping most of their changes
+ as isolated from the core as possible, making this easy to merge
+ in the staging area, it wasn't true for the wakelocks, due to
+ their invasive nature.
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Wakelocks Support}
+ \begin{itemize}
+ \item The kernel developpers were not quite happy about the
+ in-kernel APIs used by the wakelocks
+ \item Due to the changes in every places of the kernel to state
+ wether or not we were allowed to suspend, it was not possible to
+ merge the changes as is: either you were getting all of it, or
+ none
+ \item Since version 3.5, two features were included in the kernel to
+ implement opportunistic suspend :
+ \begin{description}
+ \item[autosleep] is a way to let the kernel trigger suspend or
+ hibernate whenever there are no active wakeup sources.
+ \item[wake locks] are a way to create and manipulate wakeup
+ sources from user space. The interface is compatible with the
+ android one.
+ \end{description}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Current State: Merged Patches}
+ \begin{itemize}
+ \item As of 3.10, the following patches/features are now found in
+ the mainline kernel:
+ \begin{itemize}
+ \item Binder
+ \item Alarm Timers (under the name POSIX Alarm Timers introduced
+ in 2.6.38)
+ \item Ashmem
+ \item Klogger
+ \item Timed GPIOs
+ \item Low Memory Killer
+ \item RAM Console (superseded by pstore RAM backend introduced in
+ 3.5)
+ \end{itemize}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Current State: Missing Patches}
+ \begin{itemize}
+ \item As of 3.10, the following patches/features are missing from
+ the mainline kernel:
+ \begin{itemize}
+ \item Paranoid Networking
+ \item ION Memory Allocator
+ \item USB Gadget
+ \item FIQ debugger
+ \item pmem (removed in 3.3)
+ \end{itemize}
+ \end{itemize}
+\end{frame}
diff --git a/slides/android-kernel-changes-wakelocks/android-kernel-changes-wakelocks.tex b/slides/android-kernel-changes-wakelocks/android-kernel-changes-wakelocks.tex
index d340fd1..356960e 100644
--- a/slides/android-kernel-changes-wakelocks/android-kernel-changes-wakelocks.tex
+++ b/slides/android-kernel-changes-wakelocks/android-kernel-changes-wakelocks.tex
@@ -60,17 +60,3 @@ $ echo foobar > /sys/power/wake_unlock
\end{minted}
\end{itemize}
\end{frame}
-
-\begin{frame}
- \frametitle{Vanilla kernel}
- Since version 3.5, two features were included in the kernel to
- implement opportunistic suspend :
- \begin{itemize}
- \item autosleep is a way to let the kernel trigger suspend or
- hibernate whenever there are no active wakeup sources.
- \item wake locks are a way to create and manipulate wakeup sources
- from user space. The interface is compatible with the android
- one.
- \end{itemize}
-\end{frame}
-
More information about the training-materials-updates
mailing list