Chapter 1 Notice Description

Simultaneous multithreading (SMT) is a technique for improving the efficiency of processor workload on modern processors by allowing multiple independent threads to be executed on a single physical core at the same time. SMT has various implementations, including Intel's Hyper-threading feature, but all implementations are effectively similar.

SMT is generally positive for performance for many applications and can improve the efficiency of most systems. For this reason, SMT is often enabled in the kernel by default, where hardware allows for it. In some cases, particularly where an application executes threads that become a bottleneck and the architecture of the CPU does not handle this particularly well, performance can be diminished and you may wish to disable SMT.

More importantly, recent security issues specific to microprocessor architecture and functionality such as speculative processing may be better mitigated against by disabling SMT as well as applying the appropriate patching. The following CVEs are typical of the types of issues where disabling SMT may be desirable:

You should consider disabling SMT if your system may run untrusted code or allows user input for code that may not adequately check and sanitize input values.