To get a good idea regarding the system (scheduling) latencies, we shall run three test cases; in all three, the cyclictest app will sample system latency while the stress(1) utility is putting the system under load:
- Raspberry Pi 3 model B+ (4 CPU cores) running the 5.4 32-bit RTL-patched kernel
- Raspberry Pi 3 model B+ (4 CPU cores) running the standard 5.4 32-bit Raspberry Pi OS kernel
- x86_64 (4 CPU cores) Ubuntu 20.04 LTS running the standard 5.4 (mainline) 64-bit kernel
We use a small wrapper script called runtest over the latency_test.sh script for convenience. It runs the latency_test.sh script to measure system latency while running the stress(1) utility; it invokes stress with the following parameters, to impose CPU, I/O, and memory loads on the system:
stress --cpu 6 --io 2 --hdd 4 --hdd-bytes 1MB --vm 2 --vm-bytes 128M --timeout 1h
(FYI, a later version of stress called...