Re: hyperthreading and RT latency
From: John Kacur <jkacur@redhat.com>
Date: 2021-08-06 15:39:51
On Fri, 6 Aug 2021, Daniel Wagner wrote:
Hi Alison, On Thu, Aug 05, 2021 at 01:16:17PM -0700, Alison Chaiken wrote:quoted
The advice in the RT wiki https://rt.wiki.kernel.org/index.php/HOWTO:_Build_an_RT-application#Hyper_threading
Note that the above wiki is defunct, the current one to read is: https://wiki.linuxfoundation.org/realtime/start
quoted
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.quoted
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.quoted
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
The safe answer is always to measure it. John