I am working on an IoT project for which I have to decide between linux kernel 4.8 preempt-rt
or non-preempt-rt
. Quickly running the Linux RT benchmarking test:
cd /usr/lib/rt-tests/ptest/rt_bmark.py
which essentially runs
cyclictest -S -p 99 -q -i 100 -d 20 -l 30000
led to the following results:
- For
preempt-rt
:
6:12:51: Cyclictest completed. Actual execution time:0:01:38
Min: 3 us
Avg: 6.0 us
Max: 61 us
Max list: [12, 13, 15, 22, 22, 61]
PASS
- For
non-preempt-rt
:
5:56:42: Cyclictest completed. Actual execution time:0:01:38
Min: 3 us
Avg: 5.0 us
Max: 2025 us
Max list: [11, 16, 22, 46, 207, 2025]
PASS
The results have clearly tempted me to use the prempt-rt
kernel as there is an overwhelming difference in Max Latency between the two.
I wanted to know if this is a sufficient benchmark criteria to decide between the two? Thanks in Advance!