This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
realtime:documentation:howto:tools:rteval [2018/08/21 09:19] ebugden [Results] Update link |
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 ====== |