[FE training-materials-updates] Boot time slides: misc fs section improvements
Michael Opdenacker
michael.opdenacker at free-electrons.com
Mon Apr 21 13:38:30 CEST 2014
Repository : git://git.free-electrons.com/training-materials.git
On branch : master
Link : http://git.free-electrons.com/training-materials/commit/?id=bd862898d428cb4bf2760b1d13177864a8aa3155
>---------------------------------------------------------------
commit bd862898d428cb4bf2760b1d13177864a8aa3155
Author: Michael Opdenacker <michael.opdenacker at free-electrons.com>
Date: Mon Apr 21 13:37:08 2014 +0200
Boot time slides: misc fs section improvements
- In particular, mention ubiblock + SquashFS
Signed-off-by: Michael Opdenacker <michael.opdenacker at free-electrons.com>
>---------------------------------------------------------------
bd862898d428cb4bf2760b1d13177864a8aa3155
.../boottime-filesystems/boottime-filesystems.tex | 61 +++++++++++++-------
1 file changed, 39 insertions(+), 22 deletions(-)
diff --git a/slides/boottime-filesystems/boottime-filesystems.tex b/slides/boottime-filesystems/boottime-filesystems.tex
index 5572f66..0dd33bc 100644
--- a/slides/boottime-filesystems/boottime-filesystems.tex
+++ b/slides/boottime-filesystems/boottime-filesystems.tex
@@ -18,12 +18,6 @@ we work on in boot time projects.
\begin{frame}
\frametitle{Different filesystem for different storage types}
\begin{itemize}
-\item Raw flash storage
- \begin{itemize}
- \item JFFS2
- \item YAFFS2
- \item UBIFS
- \end{itemize}
\item Block storage (including memory cards, eMMC)
\begin{itemize}
\item ext2, ext3, ext4
@@ -32,6 +26,13 @@ we work on in boot time projects.
\item f2fs
\item SquashFS
\end{itemize}
+\item Raw flash storage
+ \begin{itemize}
+ \item JFFS2
+ \item YAFFS2
+ \item UBIFS
+ \item ubiblock + SquashFS
+ \end{itemize}
\end{itemize}
See our embedded Linux training materials for full details:
{\small
@@ -45,6 +46,22 @@ See also our flash filesystem benchmarks:
\end{frame}
\begin{frame}
+\frametitle{Block filesystems}
+For block storage
+\begin{itemize}
+\item ext4: best for rather big partitions, good read and write
+ performance.
+\item xfs, jfs, reiserfs: can be good in some read or write scenarii
+ as well.
+\item btrfs, f2fs: can achieve best read and write performance,
+ taking advantage of the characteristics of flash-based block
+ devices.
+\item SquashFS: best mount time and read performance, for read-only
+ partitions. Great for root filesystems which can be read-only.
+\end{itemize}
+\end{frame}
+
+\begin{frame}
\frametitle{JFFS2}
For raw flash storage
\begin{itemize}
@@ -53,7 +70,7 @@ For raw flash storage
belongs to each file.
\item Need to use the \code{CONFIG_JFFS2_SUMMARY} kernel option
to store such information in flash. This dramatically reduces
- mount time (from 16 s to 0.8 s for a 128 MB partition).
+ mount time (benchmark on ARM: from 16 s to 0.8 s for a 128 MB partition).
\item Rather poor read and write performance (compared to YAFFS2 and
UBIFS)
\end{itemize}
@@ -63,7 +80,6 @@ For raw flash storage
\frametitle{YAFFS2}
For raw flash storage
\begin{itemize}
-\item Mount time depending on filesystem size: the kernel has to
\item Good mount time
\item Good read and write performance
\item Drawbacks: no compression, not in the mainline Linux kernel
@@ -82,10 +98,12 @@ For raw flash storage
\end{itemize}
\item Drawbacks:
\begin{itemize}
+ \item Not appropriate for small partitions (too much metadata
+ overhead). Use JFFS2 or JAFFS2 instead.
\item Not so good mount time, because of the time needed
to initialize UBI ({\em UBI Attach}: at boot time or running
\code{ubi_attach} in userspace).
- \item Addressed by {\em UBI Fastmap}, introduced in Linux 3.7.
+ \item Addressed by {\em UBI Fastmap}, introduced in Linux 3.7. \\
See next slides.
\end{itemize}
\end{itemize}
@@ -124,9 +142,9 @@ For raw flash storage
\begin{frame}
\frametitle{UBI Fastmap benchmark}
\begin{itemize}
-\item Measured on the Atmel SAMA5D3 Xplained board, Linux 3.10
+\item Measured on the Atmel SAMA5D3 Xplained board (ARM), Linux 3.10
\item UBI space: 216 MB
-\item Root filesystem: 80 MB used, built by Yocto
+\item Root filesystem: 80 MB used (Yocto)
\item Average results:
\newline \newline
\begin{tabular}{| l || c | c | c |}
@@ -146,18 +164,17 @@ attach process.
\end{frame}
\begin{frame}
-\frametitle{Block filesystems}
-For block storage
+\frametitle{ubiblock + SquashFS}
+For raw flash storage
\begin{itemize}
-\item ext4: best for rather big partitions, good read and write
- performance
-\item xfs, jfs, reiserfs: can be good in some read or write scenarii
- as well.
-\item btrfs, f2fs: can achieve best read and write performance,
- taking advantage of the characteristics of flash-based block
- devices.
-\item SquashFS: best mount time and read performance, for read-only
- partitions. Great for root filesystems which can be read-only.
+\item {\em ubiblock}: read-only block device on top of UBI
+ (\code{CONFIG_MTD_UBI_BLOCK}). Available in Linux 3.15
+ (developed on his spare time by Ezequiel Garcia,
+ a Free Electrons contractor).
+\item Allows to put SquashFS on a UBI volume.
+\item Expecting great boot time and read performance. Great
+ for read-only root filesystems.
+\item Benchmarks not available yet.
\end{itemize}
\end{frame}
More information about the training-materials-updates
mailing list