User Tools

Site Tools


realtime:documentation:howto:tools:rteval

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
realtime:documentation:howto:tools:rteval [2017/02/13 21:25]
vedangpatel Add the results section
realtime:documentation:howto:tools:rteval [2024/02/28 08:14] (current)
tglozar [Installation] Update loadsource kernel version to 6.6.1
Line 1: Line 1:
 ====== RTEval ====== ====== RTEval ======
  
-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: [[https://​git.kernel.org/​cgit/linux/kernel/git/​clrkwllms/​rteval.git/​tree/​README]])+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: ​[[realtime:​documentation:​howto:​tools:​hackbench|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: [[https://​git.kernel.org/​pub/scm/utils/rteval/​rteval.git/​tree/​README]])
  
-More information about rteval: [[https://​git.kernel.org/​cgit/linux/kernel/git/​clrkwllms/​rteval.git/​tree/​doc/​rteval.txt]]+More information about rteval: [[https://​git.kernel.org/​pub/scm/utils/rteval/​rteval.git/​tree/​doc/​rteval.txt]]
  
 ====== Installation ====== ====== Installation ======
  
-rteval ​has the following dependencies:​ +rteval ​requires Python3 with the following dependencies:​
-  * Python >= 2.4 (and < 3.0) +
-  * python-schedutils +
-  * python-ethtools +
-  * libxslt-python +
-  * python-dmidecode +
-  * rt-tests+
  
-Most of the above dependencies should be available in package management systems for most operating systems. The exception is rt-tests which the user will be required to [[https://​git.kernel.org/​cgit/​utils/​rt-tests/​rt-tests.git/​|download]] ​manually ​and compile. ​+  * 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 ​[[https://​git.kernel.org/​cgit/​utils/​rt-tests/​rt-tests.git/​|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: Following are quick instructions to install and run once all the dependencies have been installed:
  
 <code bash> <code bash>
-$> git clone git://​git.kernel.org/​pub/​scm/​linux/kernel/​git/​clrkwllms/​rteval.git +$> git clone https://​git.kernel.org/​pub/​scm/​utils/rteval/​rteval.git 
-$> cd rteval/loadsource+$> cd rteval
 # The following kernel will be used by the kcompile workload. A different kernel version can also # 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 # used here. But, corresponding changes will have to be made in KLOAD in Makefile and kernel_prefix
 # in ./​rteval/​kcompile.py before installation. # in ./​rteval/​kcompile.py before installation.
-$> wget https://​www.kernel.org/​pub/​linux/​kernel/​v2.6/linux-2.6.39.tar.bz2 +$> wget -P loadsource ​https://​www.kernel.org/​pub/​linux/​kernel/​v6.x/linux-6.6.1.tar.xz
-$> cd ../+
 $> sudo make install $> sudo make install
 $> sudo make runit $> sudo make runit
 </​code>​ </​code>​
  
-More information at: [[https://​git.kernel.org/​cgit/linux/kernel/git/​clrkwllms/​rteval.git/​tree/​README]]+More information at: [[https://​git.kernel.org/​pub/scm/utils/rteval/​rteval.git/​tree/​README]]
  
 ====== Results ====== ====== Results ======
Line 190: Line 192:
 rteval: exiting with exit code: 0 rteval: exiting with exit code: 0
 </​file>​ </​file>​
-Most of the information is self explanatory. The statistics printed in the above example is just the output from [[realtime:​documentation:​howto:​tools:​cyclictest|cyclictest]].+Most of the information is self explanatory. The statistics printed in the above example is just the output from [[realtime:​documentation:​howto:​tools:​cyclictest:start|cyclictest]].
realtime/documentation/howto/tools/rteval.1487021105.txt.gz · Last modified: 2017/02/13 21:25 by vedangpatel