Raspberry Pi 4 I/O test and encrypted device I/O

I recently buy a Raspberry Pi4 for future backup of my @home on remote location.

The hardware used :
. Raspberry Pi4 Model B with 8GB ram and 32 GB sandisk
. Inateck USB3/sata case
. 1 GB Crucial SSD

And the Software:
OS is FreeBSD 13.0-RELEASE-p6
% geli version
kernel: 7
userland: 7
% zfs version
zfs-2.0.0-FreeBSD_gf11b09dec
zfs-kmod-2.0.0-FreeBSD_gf11b09dec

My first surprise was to discover than RPi4 doesn’t support hardware AES
Cortex-A72 processor Cryptography engine.
The optional Cryptography Extension is not included in the base product.
ARM supplies the Cryptography Extension only under an additional license.

The Rp4 hardware are build without this license $$$, the result is that all crypto are defined as software (kernel: GEOM_ELI: Crypto: software) same for all my test with openssl.
That’s a really bad news for speed and system load.

I’m ZFS user for long time, and with new openzfs i decide to test the ZFS Encryption support.

Basic I/O test was done by copying 10 GB files on ZFS dataset.

FreeBSD 13.0-RELEASE-p6 on Raspberry Pi4 with usb3 SSD (da0)

ZFS (without crypto): 180 MB/s, da0 busy 100%, load 2
crypto GELI + ZFS   : 107 MB/s, da0 busy 60%, load 5
crypto ZFS Encrypt  : 25 MB/s, da0 busy 95%, load 10

The I/O result with ZFS encrypted dataset are too low for me 🙁 i will continue with GELI…

The old grumpy sysadmin 😉