NOHZ_FULL, isolated CPUs and reading CPU MSR
NOHZ_FULL, isolated CPUs and reading CPU MSR
Posted Apr 4, 2020 1:57 UTC (Sat) by vstinner (subscriber, #42675)Parent article: Frequency-invariant utilization tracking for x86
If an isolated CPU never gets the scheduler interrupt, its workload is ignored to decide the P-state of the CPU. As a consequence, the performance of isolated CPUs only rely on the non-isolated CPUs workload. For a benchmark, it means that a benchmark can become suddenly 2x faster or slower...
How I found this issue in practice: https://vstinner.github.io/intel-cpus-part2.html
The maintainer of the intel_pstate driver just told me that he never tested isolated CPUs with NOHZ_FULL. Kernel realtime developers told me that NOHZ_FULL cannot work with intel_pstate by design.
Workaround: don't use NOHZ_FULL or use fixed CPU frequency.