Tools used

On 6.18.24-rt3-yocto-preempt-rt:
  • cyclictest V 2.10
  • hackbench V 2.10
  • stress-ng, version 0.20.01

On 6.6.111-rt31-yocto-preempt-rt:
  • cyclictest V 2.60
  • hackbench V 2.60
  • stress-ng, version 0.17.05

(Yes, older versions for newer kernel. Test images should pin the version going forward)

Used settings

All test shared the following settings set via script on the DUT:
  • RT-Kernel
  • No mitigations
  • No SMT
  • RT throttling disabled
  • CPU governor set to performance

Additionally, parts were limited by restricting C-states to POLL and C1E, set via cpupower

All tests were done on a SCU 3

Testing without load

Test from August 26:
cyclictest --mlockall --affinity=0 --priority=90 --duration=15m --interval=200 --histogram=400 --histfile=./only_one_core_A_normalc.txt
cyclictest --mlockall --affinity=2 --priority=90 --duration=15m --interval=200 --histogram=400 --histfile=./only_one_core_B_normalc.txt
cyclictest --smp --mlockall --priority=99 -d 0  --duration=15m --interval=200 --histogram=400 --histfile=./both_normalc.txt

Note: Cores are called 0 and 2 because only physical cores will be measured - should more than two core be available the disabling of smt(Simultaneous Multithreading) should be checked. Enumeration does not change, however - as can be seen in cpuinfo
root@scuxl0583:~# cat /proc/cpuinfo 
processor       : 0
...
processor       : 2
...

measurements.png

Testing with load

Used hackbench and stress-ng Once with all c-states, once with limitied c-states.
hackbench -g 2 -l 99999999 & cyclictest --smp -p 99 -m --histogram=400 --interval=200 --histfile=cc-with-hackbench.txt -D 15m
stress-ng --cpu 2 --iomix 1 --vm 2 --vm-bytes 442M -t 15m  & cyclictest --smp -p 99 -m --histogram=400 --interval=200 --histfile=cc-with-stress.txt -D 15m

Note: As stated before, only the two physical cores will be in use. Parameter higher than --cpu 2 would therefore be oversubcription which changes which behaviour is tested.

measurements.png

saft-roundttip testing

The following measurements were taken with the saft-roundtrip tool. The process was started with priority 60 either with Round-Robin or FIFO.
root@scuxl:~# chrt -r 60 saft-roundtrip-latency tr0 500000 wry_RR60_pollc1e.txt
root@scuxl:~# chrt -f 60 saft-roundtrip-latency tr0 500000 wry_FF60_pollc1e.txt

measurements.png

The tests were repeated with restricted c-states and show even worse outliers.

measurements.png

These measurements need to be verified and probably repeated, since the trend goes in the other direction as in the more basal tests before.

Conclusion

Base testing of the kernel shows a slightly better latency. Worse latency for saft-roundtrip needs to be investigated.

The results are attached below.

-- AnnaRanz - 2026-08-06
Please login to edit this topic
Topic revision: r4 - 2026-08-10, AnnaRanz
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding GSI Wiki? Send feedback | Legal notice | Privacy Policy (german)