Chapter 3. Red Hat Enterprise Linux for Real Time Kernel Tuning

The Red Hat Enterprise Linux for Real Time kernel offers many performance tuning parameters not otherwise available in Red Hat Enterprise Linux 7. In order to achieve optimal low-latency determinism it is necessary to perform Red Hat Enterprise Linux for Real Time specific system tuning.

The primary diagnostic facility provided with the Red Hat Enterprise Linux for Real Time kernel is Tuna. Tuna provides both a command line tool and a graphical interface that can be used to change attributes of threads (scheduling policy, scheduler priority and processor affinity) and interrupts (processor affinity). The tool is designed to be used on a running system, and changes take place immediately. This allows any application-specific measurement tools to see and analyze system performance immediately after the changes have been made.

Diagnostic Tools

The Red Hat Enterprise Linux for Real Time kernel provides several diagnostic tools to test and report on latencies.

The latency tracer is a peak detector which is used to identify the longest running non-preemptable kernel codepaths. This is particularly useful for identifying whether non-deterministic performance results are attributable to the kernel or to user-space components. In customer deployments, the tool is most useful to differentiate whether delays are in the kernel or the application.
The ftrace utility is used to analyze and debug latency and performance issues that occur outside of user-space. It has a variety of options that allow you to use the utility in a number of different ways. It can be used to trace context switches, measure the time it takes for a high-priority task to wake up, measure the length of time for which interrupts are disabled, or list all the kernel functions executed during a given period.