Measuring scheduling latencies
All the configuration and tuning you may do will be pointless if you cannot show that your device meets the deadlines. You will need your own benchmarks for the final testing, but I will describe here two important measurement tools: cyclictest
and Ftrace.
cyclictest
cyclictest
was originally written by Thomas Gleixner and is now available on most platforms in a package named rt-tests
. If you are using the Yocto Project, you can create a target image that includes rt-tests
by building the real-time image recipe like this:
$ bitbake core-image-rt
If you are using Buildroot, you need to add the BR2_PACKAGE_RT_TESTS
package in the Target packages | Debugging, profiling and benchmark | rt-tests menu.
cyclictest
measures scheduling latencies by comparing the actual time taken for sleeping to the requested time. If there was no latency, they would be the same, and the reported latency would be 0. cyclictest
assumes a timer resolution of less...