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
Histogram
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
Histogram
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.
Vincenzo,
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.