User Tools

Site Tools


realtime:documentation:howto:tools:rt-tests

Differences

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

Link to this comparison view

Next revision
Previous revision
realtime:documentation:howto:tools:rt-tests [2017/05/23 15:10]
anna-maria created
realtime:documentation:howto:tools:rt-tests [2023/09/25 14:44]
costa.shul [Programs] - ref SCHED_DEADLINE
Line 1: Line 1:
 ====== RT-Tests ====== ====== RT-Tests ======
  
-rt-tests is a test suite, that contains programs to test various real time Linux features:+rt-tests is a [[realtime:​documentation:​howto:​tools:​start|test suite]], that contains programs to test various real time Linux features. It is maintained by Clark Williams and John Kacur. 
 +For communication,​ the [[realtime:​communication:mailinglists|rt-users mailing list]] is used.
  
-  * [[realtime:​documentation:​howto:​tools:​cyclictest|Cyclictest]]:​ latency detection 
-  * hackbench 
-  * pip_stress 
-  * pi_stress 
-  * pmqtest 
-  * ptsematest 
-  * rt-migrate-test 
-  * sendme 
-  * signaltest 
-  * sigwaittest 
-  * svsematest 
  
 +===== Programs =====
  
-The compilation and installation for all programs ​is identical.+The following ​programs ​are part of the rt-tests:
  
 +  * [[realtime:​documentation:​howto:​tools:​cyclictest:​start|cyclictest]] – [[https://​man7.org/​linux/​man-pages/​man2/​clock_nanosleep.2.html|clock_nanosleep]] latency detection
 +  * [[https://​man.archlinux.org/​man/​cyclicdeadline.8.en|cyclicdeadline]] – test the deadline scheduler (SCHED_DEADLINE) using a cyclictest style program
 +  * [[https://​man.archlinux.org/​man/​deadline_test.8.en|deadline_test]] – test the deadline scheduler
 +  * [[realtime:​documentation:​howto:​tools:​hackbench|hackbench]] – scheduler benchmark/​stress test
 +  * [[https://​man.archlinux.org/​man/​hwlatdetect.8.en|hwlatdetect]] – CLI for [[https://​docs.kernel.org/​trace/​hwlat_detector.html|/​sys/​kernel/​tracing/​hwlat_detector]]
 +  * [[https://​man.archlinux.org/​man/​oslat.8.en|oslat]] – measures delay with [[https://​en.wikipedia.org/​wiki/​Time_Stamp_Counter|RDTSC]]
 +  * [[https://​man.archlinux.org/​man/​pip_stress.8.en|pip_stress]] – priority Inheritance with processes
 +  * [[https://​man.archlinux.org/​man/​pi_stress.8.en|pi_stress]] – a stress test for POSIX Priority Inheritance mutexes
 +  * [[https://​man.archlinux.org/​man/​pmqtest.8.en|pmqtest]] – start pairs of threads and measure the latency of interprocess communication with POSIX messages queues
 +  * [[https://​man.archlinux.org/​man/​ptsematest.8.en|ptsematest]] – start two threads and measure the latency of interprocess communication with POSIX mutex.
 +  * [[https://​man.archlinux.org/​man/​determine_maximum_mpps.8.en|determine_maximum_mpps]] – determine the maximum mpps the machine can handle
 +  * [[https://​man.archlinux.org/​man/​queuelat.8.en|queuelat]] – queue latency test program
 +  * [[https://​man.archlinux.org/​man/​rt-migrate-test.8.en|rt-migrate-test]] – real-time task migration program
 +  * [[https://​man.archlinux.org/​man/​signaltest.8.en|signaltest]] – signal roundtrip test software
 +  * [[https://​man.archlinux.org/​man/​sigwaittest.8.en|sigwaittest]] – start two threads or fork two processes and measure the latency between sending and receiving a signal
 +  * [[https://​man.archlinux.org/​man/​ssdd.8.en|ssdd]] – have a tracer do a bunch of PTRACE_SINGLESTEPs
 +  * [[https://​man.archlinux.org/​man/​svsematest.8.en|svsematest]] – start two threads or fork two processes and measure the latency of SYSV semaphores
  
  
 ===== Compile and install ===== ===== Compile and install =====
  
-rt-tests suite can be installed from source. ​Therefore ​the libnuma and build-essentials are required. The given example is for a Debian based system:+rt-tests suite can be installed from source: [[https://​git.kernel.org/​pub/​scm/​utils/​rt-tests/​rt-tests.git/​tree/​src|rt-tests/​src]],​ 
 +the releases are available [[https://​www.kernel.org/​pub/​linux/​utils/​rt-tests|here]]. 
 +The [[https://​man7.org/​linux/​man-pages/​man3/​numa.3.html|libnuma]] and build-essentials are required. The given example is for a Debian based system:
  
 <code bash> <code bash>
Line 28: Line 38:
 </​code>​ </​code>​
  
-<WRAP center round tip 100%> +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.
-libnuma is required for build. Usually, it's safe to have libnuma 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. +
-</​WRAP>​+
  
  
realtime/documentation/howto/tools/rt-tests.txt · Last modified: 2023/09/25 14:44 by costa.shul