On Mon, 17 Dec 2018, Barry Kauler wrote:
With CONFIG_SCHED_SMT disabled, CONFIG_RETPOLINE is not needed.
This is not true. Retpoline protects also against a scenario where process A posions BTB for process B that gets scheduled afterwards on the same core, irrespective of SMT.
With CONFIG_SCHED_SMT enabled, then CONFIG_RETPOLINE is required for security reasons.
This is answered by the above as well. Retpoline is needed irrespective of SMT.
Enabling CONFIG_SCHED_SMT speeds up some operations, enabling CONFIG_RETPOLINE slows it down again.
There is no 'again', as those two things are not really dependent in any way.
End result, not much speed gain, far more complicated kernel.
And therefore this is bogus :)