Re: [PATCH 2/2] x86/speculation: switch_to_cond_stibp on is the likely case

From: Waiman Long
Date: Thu Dec 06 2018 - 10:38:07 EST


On 12/06/2018 03:41 AM, Peter Zijlstra wrote:
> On Wed, Dec 05, 2018 at 02:49:28PM -0500, Waiman Long wrote:
>> Since conditional STIBP is the default, it should be treated as
>> the likely case. Changes the use of static_branch_unlikely() to
>> static_branch_likely() for switch_to_cond_stibp.
> So now you're making kernels on 'fixed' or unaffected hardware slower.

Good point.

The reason I sent out this patch is because of the inconsistency in the
use of likely/unlikely hints.

arch/x86/kernel/cpu/bugs.c:156:ÂÂÂ ÂÂÂ if
(static_branch_unlikely(&switch_to_cond_stibp))
arch/x86/kernel/process.c:440:ÂÂÂ ÂÂÂ
static_branch_unlikely(&switch_to_cond_stibp)) {
arch/x86/kernel/process.h:26:ÂÂÂ ÂÂÂ if
(!static_branch_likely(&switch_to_cond_stibp)) {

So if we are aiming to optimize for "fixed" or unaffected hardware,
maybe we should modify the likely hint to unlikely then.

Cheers,
Longman