User Tools

Site Tools


realtime:documentation:howto:tools:rt-tests

This is an old revision of the document!


RT-Tests

rt-tests is a test suite, that contains programs to test various real time Linux features. It is maintained by Clark Williams and John Kacur. For communication, the rt-users mailing list is used.

Programs

The following programs are part of the rt-tests:

  • cyclictest: latency detection
  • cyclicdeadline
  • deadline_test
  • pip_stress – Priority Inheritance with processes
  • pi_stress – a stress test for POSIX Priority Inheritance mutexes
  • pmqtest – Start pairs of threads and measure the latency of interprocess communication with POSIX messages queues
  • ptsematest – Start two threads and measure the latency of interprocess communication with POSIX mutex.
  • determine_maximum_mpps – determine the maximum mpps the machine can handle
  • queuelat – queue latency test program
  • rt-migrate-test – real-time task migration program
  • deadline_test – high resolution test program
  • signaltest – signal roundtrip test software
  • sigwaittest – start two threads or fork two processes and measure the latency between sending and receiving a signal
  • ssdd – have a tracer do a bunch of PTRACE_SINGLESTEPs
  • svsematest – start two threads or fork two processes and measure the latency of SYSV semaphores

Compile and install

rt-tests suite can be installed from source. The source code is hosted on kernel.org, the releases are available here. The libnuma and build-essentials are required. The given example is for a Debian based system:

sudo apt-get install build-essential libnuma-dev

libnuma-dev is required for build. Usually, it's safe to have libnuma-dev installed also in non-NUMA systems, but if you don't want to install the NUMA libs (e.g. in embedded environment) then compile with make NUMA=0.

Clone source code (check out the latest stable branch, because the master branch is not used for stable release any more), compile it and install it to the local filesystem

git clone git://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git
cd rt-tests
git checkout stable/v1.0
make all
make install

The last step is optional. All compiled programs can be executed from the build directory directly. If only a single program should be compiled only the single make target for the specific program could be executed (example for cyclictest):

make cyclictest
realtime/documentation/howto/tools/rt-tests.1691216006.txt.gz · Last modified: 2023/08/05 06:13 by costa.shul