Skip to content

Instantly share code, notes, and snippets.

@marioroy
Created September 22, 2023 14:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save marioroy/7a6384286f367e53758072962ad36c7f to your computer and use it in GitHub Desktop.
Save marioroy/7a6384286f367e53758072962ad36c7f to your computer and use it in GitHub Desktop.
Benchmark XanMod and Clear kernels on Clear Linux
Benchmark XanMod and Clear kernels on Clear Linux, September 22, 2023
Discovery made:
Using XanMod RT, I compared PREEMPT_RT vs PREEMPT_DYNAMIC knobs.
See comparison data at the end of this document.
######################################################################
I tested with sched autogroup enabled in /etc/clr-power-tweaks.conf
/proc/sys/kernel/sched_autogroup_enabled 1
how I benchmarked
run the commands in terminals 1 through 4 in parallel
run the commands in terminals 5 and 6 serially, one at a time
run as a normal user in terminals 1 and 2
Term1: numactl -C 0-31 ./hackbench -P -f 4 -g 4 -l 2000000
Term2: numactl -C 32-63 ./hackbench -P -f 4 -g 4 -l 2000000
become super-user in terminals 3 and 4
Term3: ./cyclictest --smp -p98 -m -D 20 -q
Term4: sync; echo 3 >/proc/sys/vm/drop_caches; time ls -R /usr
os scheduler responsiveness (the total response time was captured)
Term5: python3 responsiveness.py -i1 -p60 --np 4 -t 30
capture the time to build a kernel
Term6: time ./xm-build lts-default in /tmp directory
######################################################################
Clear 6.1.53-1313.ltscurrent
hackbench1 15.758s, 15.630s, 16.127s
hackbench2 16.731s, 16.553s, 16.835s
cyclictest 7900, 330, 358
ls -R /usr 11.164s, 11.128s, 11.187s (no bg_jobs 9.641s)
os latency 0.100391, 0.102956, 0.232901
bld kernel real 7m18.723s, user 128m9.374s, sys 11m38.517s
XanMod 6.1.54-100.xmlts-default
hackbench1 14.716s, 14.627s, 14.597s
hackbench2 15.213s, 15.225s, 15.132s
cyclictest 376, 342, 333
ls -R /usr 12.104s, 12.015s, 11.949s (no bg_jobs 9.688s)
os latency 0.059826, 0.058776, 0.058987
bld kernel real 7m17.296s, user 127m27.707s, sys 11m40.550s
######################################################################
Clear 6.1.53-1313.ltsdesktop (enabled preempt and rcu_boost)
hackbench1 18.222s, 17.704s, 17.994s
hackbench2 18.520s, 18.394s, 18.453s
cyclictest 135, 94, 137
ls -R /usr 11.800s, 11.775s, 11.800s (no bg_jobs 10.040s)
os latency 0.116172, 0.243947, 0.274625
bld kernel real 7m30.694s, user 128m50.351s, sys 14m4.006s
XanMod 6.1.54-100.xmlts-preempt
hackbench1 17.498s, 17.507s, 17.546s
hackbench2 18.231s, 18.286s, 18.309s
cyclictest 105, 95, 219
ls -R /usr 12.996s, 12.898s, 12.904s (no bg_jobs 10.037s)
os latency 0.063351, 0.058836, 0.057628
bld kernel real 7m29.838s, user 128m54.715s, sys 14m2.734s
######################################################################
Clear 6.1.38-105.preempt_rt (note: PREEMPT_RT not enabled in Clear)
hackbench1 13.195s, 13.278s, 13.272s
hackbench2 13.913s, 13.842s, 13.848s
cyclictest 825, 377, 6327
ls -R /usr 12.346s, 12.239s, 12.302s (no bg_jobs 9.923s)
os latency 0.070464, 0.063389, 0.064956
bld kernel real 7m22.703s, user 131m55.665s, sys 12m25.750s
XanMod 6.1.54-100.xmrt-default
hackbench1 12.807s, 12.786s, 12.730s
hackbench2 13.426s, 13.417s, 13.373s
cyclictest 541, 928, 471
ls -R /usr 12.137s, 12.030s, 11.992s (no bg_jobs 9.679s)
os latency 0.067352, 0.062054, 0.063270
bld kernel real 7m19.116s, user 130m41.808s, sys 11m56.475s
####################################################################
Clear 6.1.38-105.preempt_rt (enabled preempt_rt and rcu_boost)
hackbench1 46.392s, 46.675s, 46.537s
hackbench2 43.884s, 44.022s, 43.820s
cyclictest 34, 36, 35
ls -R /usr 15.146s, 15.178s, 15.149s (no bg_jobs 11.114s)
os latency 0.060291, 0.052961, 0.050324
bld kernel real 8m54.285s, user 157m15.273s, sys 22m43.648s
XanMod 6.1.54-100.xmrt-preempt_rt (PREEMPT_RT knobs)
hackbench1 45.855s, 46.120s, 46.071s
hackbench2 44.068s, 44.471s, 44.429s
cyclictest 46, 39, 38
ls -R /usr 15.070s, 15.000s, 15.002s (no bg_jobs 10.780s)
os latency 0.057868, 0.053071, 0.054575
bld kernel real 8m49.644s, user 156m28.683s, sys 21m55.323s
XanMod 6.1.54-101.xmrt-preempt (PREEMPT_DYNAMIC knobs)
hackbench1 14.711s, 14.800s, 14.845s
hackbench2 15.468s, 15.351s, 15.509s
cyclictest 89, 164, 94
ls -R /usr 12.186s, 12.088s, 12.023s (no bg_jobs 9.594s)
os latency 0.068495, 0.065514, 0.061632
bld kernel real 7m29.736s, user 133m14.289s, sys 14m27.194s
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment