User Tools

Site Tools


Table of Contents


Rteval is a python program written to evaluate the performance of a realtime Linux kernel on a particular hardware platform. The program unpacks source code for two loads: hackbench and a Linux kernel compile, then loops running hackbench and a parallel build of the Linux kernel. While the loads are running, the cyclictest program is run to measure realtime performance under load. When the specified run duration is met, the loads are stopped and cyclictest outputs measured timer latency values in histogram format, which is analyzed by rteval. Rteval then writes an XML file to disk with information about the system (gotten through DMI tables), the raw histogram data collected during the run and the statistical analysis of the run. (Reference:

More information about rteval:


rteval requires Python3 with the following dependencies:

  • python3-distutils
  • python3-dmidecode
  • python3-lxml
  • python3-ethtool
  • python3-requests
  • gcc 5.1 or higher, flex, bison, tar, xz (for kcompile load)

Most of the above Python3 dependencies should be available in package management systems for most operating systems.

The user must manually download and compile rt-tests. Compiling rt-tests additionally requires glibc and libnuma headers.

Following are quick instructions to install and run once all the dependencies have been installed:

$> git clone
$> cd rteval
# The following kernel will be used by the kcompile workload. A different kernel version can also
# used here. But, corresponding changes will have to be made in KLOAD in Makefile and kernel_prefix
# in ./rteval/ before installation.
$> wget -P loadsource
$> sudo make install
$> sudo make runit

More information at:


Following is a sample result for the command:

Performance tests and ratings are measured using specific computer systems and/or components and reflect the approximate performance as measured by those tests. Any difference in system hardware or software design or configuration may affect actual performance.

  ===================================================================                                                                                                                                     [86/1801]
   rteval (v1.38) report
   Test run:     2017-02-13 12:49:21
   Run time:     0 days 0h 0m 11s

   Tested node:  vpatel-dev2
   Model:         - 
   BIOS version:  (ver: , rev :, release date: )

   CPU cores:    8 (online: 8)
   NUMA Nodes:   1
   Memory:       31.292 GB
   Kernel:       4.4.2
   Base OS:      unknown
   Architecture: x86_64
   Clocksource:  tsc
   Available:    tsc hpet acpi_pm

   Load commands:
       Load average: 4.07
         - kcompile: make -C /home/vpatel/anon_repos/rteval/run/rteval-build/linux-2.6.39 -j16
         - hackbench: hackbench -P -g 16.0 -l 100 -s 100

   Latency test
      Command:cyclictest -qm -i 100 -d 0 -h 2000 -p 95 --smp

      System:  (8 cores) Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz
          Samples:           869190
          Mean:              2.12836433921us
          Median:            2us
          Mode:              2us
          Range:             731us
          Min:               0us
          Max:               731us
          Mean Absolute Dev: 0.937310248954us
          Variance:          35.8090162273us

      CPU core 0   Priority: 95
          Samples:           109626
          Mean:              2.61308448726us
          Median:            2us
          Mode:              2us
          Range:             645us
          Min:               0us
          Max:               645us
          Mean Absolute Dev: 1.67699461734us
          Variance:          90.2609495244us
      CPU core 1   Priority: 95
          Samples:           109870
          Mean:              1.86766178211us
          Median:            1us
          Mode:              1us
          Range:             710us
          Min:               1us
          Max:               711us
          Mean Absolute Dev: 0.921409903422us
          Variance:          34.2588155195us

      CPU core 2   Priority: 95
          Samples:           109463
          Mean:              2.37517700045us
          Median:            2us
          Mode:              2us
          Range:             621us
          Min:               0us
          Max:               621us
          Mean Absolute Dev: 0.944711592396us
          Variance:          31.7869418697us

      CPU core 3   Priority: 95
          Samples:           107860
          Mean:              2.1190246616us
          Median:            2us
          Mode:              2us
          Range:             652us
          Min:               0us
          Max:               652us
          Mean Absolute Dev: 0.876297487018us
          Variance:          27.0425459294us

      CPU core 4   Priority: 95
          Samples:           108567
          Mean:              2.1447309035us
          Median:            2us
          Mode:              2us
          Range:             684us
          Min:               0us
          Max:               684us
          Mean Absolute Dev: 0.879960259054us
          Variance:          29.0171586253us

      CPU core 5   Priority: 95
          Samples:           108366
          Mean:              1.66483029733us
          Median:            1us
          Mode:              1us
          Range:             571us
          Min:               0us
          Max:               571us
          Mean Absolute Dev: 0.755909668094us
          Variance:          6.99546256844us

      CPU core 6   Priority: 95
          Samples:           107590
          Mean:              2.14418626266us
          Median:            2us
          Mode:              2us
          Range:             731us
          Min:               0us
          Max:               731us
          Mean Absolute Dev: 0.797404828348us
          Variance:          37.2396828533us

      CPU core 7   Priority: 95
          Samples:           107848
          Mean:              2.0935761442us
          Median:            2us
          Mode:              2us
          Range:             693us
          Min:               0us
          Max:               693us
          Mean Absolute Dev: 0.844485575396us
          Variance:          28.6649385662us

rteval: exiting with exit code: 0

Most of the information is self explanatory. The statistics printed in the above example is just the output from cyclictest.

realtime/documentation/howto/tools/rteval.txt · Last modified: 2024/02/28 08:14 by tglozar