Re: hyperthreading and RT latency
From: Daniel Wagner <hidden>
Date: 2021-08-06 07:00:42
Hi Alison, On Thu, Aug 05, 2021 at 01:16:17PM -0700, Alison Chaiken wrote:
The advice in the RT wiki
https://rt.wiki.kernel.org/index.php/HOWTO:_Build_an_RT-application#Hyper_threading
about configuring the kernel and building RT applications was written
in 2014, when we were on the 3.x series. That makes one wonder how
relevant some of it is for the 5.x series, especially since processors
in common use have changed some since then. Some of the advice,
notably about power management, obviously is timeless.
In particular, Daniel Wagner added:
https://rt.wiki.kernel.org/index.php/HOWTO:_Build_an_RT-application#Hyper_threading
"Hyper threading and also out of order execution of CPUs introduces
'random' latencies. As mentioned in power management, it is
recommended to disable these feature (if possible) or carefully
benchmark the performance."
Is the advice still current?I don't think the situation has changed. Though, I don't run these test on modern hardware on regular basis. The last time I played with it on a bit more modern hardware it was still measurable by cyclictest with hackbench as workload.
Should we RT-users all still turn hyperthreading off?
Obviously, it depends on your use case. If your application can tolerate the added noise by SMT, you don't have to disable it.
Given the security vulnerabilities associated with hyperthreading, there are clearly some use cases where doing so is indicated anyway.
Again it depends on your use case. Daniel