Raspberry Pi. Cycletest : no better results between PREEMPT_RT & PREEMPT kernels

Hello all,

I am trying to compare cycletest’s between RT-patched preemptive kernel and original preemptive kernel. But the results I get are not what is expected. So may be I am doing something wrong. Please help me to figure this out.

On current website I found an article and comparison of linux preemptive and real-time preemptive kernel. So I have used the raspi image with a patched kernel provided in the article and installed it on my raspi B+. I conducted the cycletest with 5 mio. tests:

cyclictest -l5000000 -m -n -a0 -t1 -p99 -i400 -h400 -q >> ctest-uname -r.dat

for 3.12.28+ kernel and the 3.12.26-rt40+ lernel that were both available on the image, by editing the /boot/config.txt file and replacing kernel_rt.img with kernel.img

I have used gnuplot to visualize my results. But since I can not attach images I insert the output of cycletest.

I very appreciate your help!

here are the outputs of both cycletests:

pi@raspberrypi ~ $ cat cycletest-3.12.26-rt40+.txt


Total: 004999674

Min Latencies: 00043

Avg Latencies: 00087

Max Latencies: 04195

Histogram Overflows: 00326

And now for the not patched kernel
pi@raspberrypi ~ $ cat cycletest-3.12.28+.txt


Total: 004999836

Min Latencies: 00040

Avg Latencies: 00081

Max Latencies: 05159

Histogram Overflows: 00164

Hello Sergii,
I am not able to reproduce your results on rt kernel that comes with this image - http://www.emlid.com/raspberry-pi-real-time-kernel/

I’m running:
sudo cyclictest -l5000000 -m -n -a0 -t1 -p99 -i400 -h400 -q

My results with kernel-rt.img (3.12.26-rt40+) are:

Total: 005000000

Min Latencies: 00012

Avg Latencies: 00027

Max Latencies: 00074

Histogram Overflows: 00000

Histogram Overflow at cycle number:

Thread 0:

Do you have any other process running with rt priority?

3rd part response,

Total: 005000000

Min Latencies: 00013

Avg Latencies: 00028

Max Latencies: 00078

Histogram Overflows: 00000

Histogram Overflow at cycle number:

Thread 0:

using the same RT linux download as Mikhail

Could you release the .config file used to compile your kernel. Sources are available but i’m also interested in which option you turned on.

You can obtain the config from the running system, to do that use:

cat /proc/config.gz | gunzip > running.config  

Also, it should be somewhere in the folder with sources /usr/src/

here’s my cat /proc/config.gz running.config if you dont want to make your own image and check.