Linux Foundation Wiki

project collaboration site

User Tools

Site Tools



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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
realtime:documentation:howto:debugging:cyclictest-smi-count [2018/07/11 09:03]
ebugden Improve description of tool's utility
— (current)
Line 1: Line 1:
-====== Cyclictest - SMI count ====== 
-Cyclictest v1.0 has an option (--smi) which enables counting the number of SMIs that occur on a system. The count comes from a model-specific register (MSR) which stores the number of SMIs that have happened on a CPU, so this Cyclictest option will only work if the CPU has that MSR. The required MSR is exclusively available on Intel x86 processors from after around 2008 (as of the Nehalem microarchitecture). 
-This Cyclictest option is useful because it helps to quickly confirm whether or not SMIs are taking place. This is an important step in the debugging process, because if no SMIs are taking place then they cannot be causing latencies and other latency sources must be investigated. 
-===== Testing ===== 
-Below is an example of a Cyclictest command for an SMP system that includes the smi option. The '#'​ before the command is to indicate that it must be run as root, with sudo, or as a member of the realtime group. 
-<code bash> 
-# cyclictest --mlockall --smp --priority=80 --interval=200 --distance=0 --smi 
-<WRAP center round important 60%> 
-The combination of options in this example is not necessarily appropriate for any given test situation. 
-More details about how to choose the right options for measuring a specific latency on a given system can be found in the Cyclictest documentation [[realtime:​documentation:​howto:​tools:​cyclictest:​debugging|here]]. 
-===== Analysis ===== 
-After running Cyclictest, the number of SMIs that have happened in each CPU will be displayed along with the rest of the Cyclictest results. 
-If the test results show that SMIs are occurring, even only a couple, it is worth further investigation into why they are happening. This is because most of the time SMI handlers perform operations that are not strictly necessary or useful for the system. In other words, eliminating the root cause of SMIs is usually possible and generally eliminates potential latency problems. 
realtime/documentation/howto/debugging/cyclictest-smi-count.1531299820.txt.gz ยท Last modified: 2018/07/11 09:03 by ebugden