I built the Clear native kernel (2) without preemption + BORE, (3) preemption + BORE, and (4) one using HZ=800
.
1. 6.8.2-1420.native HZ=1000
2. 6.8.2-166.xmclear-default HZ=1000 BORE 5.0.3
3. 6.8.2-166.xmclear-preempt HZ=1000 BORE 5.0.3
4. 6.8.2-166.xmclear-preempt HZ=800 BORE 5.0.3
Compute only: Running with idle attribute reaches non-preempt performance.
Clear Native With BORE Preempt+BORE Preempt+BORE
HZ=1000 HZ=1000 HZ=1000 HZ=800
$ ./algorithm3.pl 1e12 14.857s 14.770s 15.283s 15.244s
$ chrt -i 0 \
./algorithm3.pl 1e12 14.691s 14.671s 14.633s 14.644s
Next, four tasks running concurrently to capture latency results.
Xorg/GNOME: YouTube playback consumes lesser CPU on Xorg using NVIDIA.
Chromium Browser: https://slowroads.io/
Google Chrome: https://www.youtube.com/watch?v=aqz-KE-bpKQ (1440p60 HD)
Clear Native With BORE Preempt+BORE Preempt+BORE
HZ=1000 HZ=1000 HZ=1000 HZ=800
$ chrt -i 0 \
./algorithm3.pl 2e12 37.579s 37.774s 38.539s 38.767s
$ ./schbench
Latency percentiles (usec)
50.0th: 37 30 32 32
75.0th: 835 476 739 769
90.0th: 1694 1102 2060 1806
95.0th: 2372 1790 2676 2668
*99.0th: 3884 2972 4264 3884
99.5th: 4168 3340 4840 4424
99.9th: 5368 4264 6024 5464
min=0, max= 7120 6119 7607 7512
Apples-to-apples comparison to Clear Linux’s native kernel is BORE without preemption. Running background jobs? Either chrt -i 0
or preempt kernel is helpful for smooth Slow Roads demonstration.
HZ=800
performs better on my system for preempted kernels. For background jobs, running with idle
attribute reaches non-preempt performance.
Results captured on an AMD Ryzen Threadripper 3970X machine.