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...