On 12/17/18, Andi Kleen ak@linux.intel.com wrote:
... From the blog:
Note, way back in the early days when I was first compiling the kernel for multi-core CPUs, SMT (hyperthreading), which simulates more than one core for each actual core, was causing file corruption. So, disabled it, and never trusted it after that. <<
Since nearly everyone else has the option enabled we are quite confident there is no data corruption caused by it. So there shouldn't be any reason to turn it off.
I am an outsider, looking in, have only followed the RETPOLINE etc. stuff fairly superficially. Would this statement be correct or incorrect?:
With CONFIG_SCHED_SMT disabled, CONFIG_RETPOLINE is not needed. With CONFIG_SCHED_SMT enabled, then CONFIG_RETPOLINE is required for security reasons. Enabling CONFIG_SCHED_SMT speeds up some operations, enabling CONFIG_RETPOLINE slows it down again. End result, not much speed gain, far more complicated kernel.
Regards, Barry Kauler