UBI Fastmap on the Devkit8000

Tonight I tried the (new) UBI Fastmap feature on the Devkit8000.

For this reason I created a UBI image with ptxdist. The UBI fastmap was not activated in the kernel that installed the UBI image in NAND.

After first boot I got the following output:

[ 2.842315] UBI: attaching mtd5 to ubi0
[ 3.146972] UBI: scanning is finished
[ 3.165374] UBI: attached mtd5 (name "File System", size 121 MiB) to ubi0

That make around 300 ms from “attaching…” to “attached …”.

Then I activated UBI fastmap in the kernel configuration and got the following output:

[ 2.839019] UBI: default fastmap pool size: 45
[ 2.843780] UBI: default fastmap WL pool size: 25
[ 2.848754] UBI: attaching mtd5 to ubi0
[ 3.154663] UBI: scanning is finished
[ 3.173156] UBI: attached mtd5 (name "File System", size 121 MiB) to ubi0

After changing the bootargs in the bootloader U-Boot and adding ubi.fm_autoconvert=1 there is nothing to see from conversion:

[ 2.839019] UBI: default fastmap pool size: 45
[ 2.843780] UBI: default fastmap WL pool size: 25
[ 2.848754] UBI: attaching mtd5 to ubi0
[ 3.154663] UBI: scanning is finished
[ 3.173156] UBI: attached mtd5 (name "File System", size 121 MiB) to ubi0

But with the next boot ubi fastmap is active:

[ 2.844116] UBI: default fastmap pool size: 45
[ 2.848876] UBI: default fastmap WL pool size: 25
[ 2.853820] UBI: attaching mtd5 to ubi0
[ 2.927093] UBI: attached by fastmap
[ 2.930877] UBI: fastmap pool size: 45
[ 2.934844] UBI: fastmap WL pool size: 25
[ 2.953826] UBI: attached mtd5 (name "File System", size 121 MiB) to ubi0

That are around 100 ms from “attaching …” to “attached…”. For such a small UBIFS with only 121 MiB is it a gain of 200 ms.

Boot times (part 2)

The candidates are this time: gzip, lzma, lzo, xz and uncompressed.
The boot time is measured with grabserial. The image is read from a sd card.

compression method image size loading time decompression time
gzip 3978136 0.327381 0.744222
lzma 2939704 0.245322 2.41247
lzo 4368056 no boot
xz 2792912 0.220659 1.961494
uncompressed 7967108 0.641257

Test network speed

One of my actual projects uses a USB-Ethernet (LAN9512) interface. So I am interested in the real speed for this combination.

On the embedded device I used netcat with the following parameters:
nc -l -p 1234 | dd of=/dev/null

And on the host side I used netcat with:
dd if=/dev/urandom bs=4096 count=100000 | nc host.tld 1234

For the different counts I got the following numbers

count duration speed
1000 1 s 4.1 MB/s
10000 10.8 s 3.8 MB/s
100000 108 s 3.8 MB/s
1000000 1092 s 3.7 MB/s

Okay, the last test copied 4.1 GB and lasted 18 minutes.