[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aae4b191-2e1c-3893-e532-c247b85f088b@linux.intel.com>
Date: Sat, 6 Jan 2018 10:20:26 -0800
From: Tim Chen <tim.c.chen@...ux.intel.com>
To: Konrad Rzeszutek Wilk <konrad@...nel.org>
Cc: Thomas Gleixner <tglx@...utronix.de>,
Andy Lutomirski <luto@...nel.org>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Greg KH <gregkh@...uxfoundation.org>,
Dave Hansen <dave.hansen@...el.com>,
Andrea Arcangeli <aarcange@...hat.com>,
Andi Kleen <ak@...ux.intel.com>,
Arjan Van De Ven <arjan.van.de.ven@...el.com>,
David Woodhouse <dwmw@...zon.co.uk>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 4/8] x86/spec_ctrl: Add sysctl knobs to enable/disable
SPEC_CTRL feature
On 01/06/2018 06:41 AM, Konrad Rzeszutek Wilk wrote:
> On Fri, Jan 05, 2018 at 06:12:19PM -0800, Tim Chen wrote:
>> From: Tim Chen <tim.c.chen@...ux.intel.com>
>> From: Andrea Arcangeli <aarcange@...hat.com>
>>
>
>>
>> .macro DISABLE_IBRS
>> - ALTERNATIVE "jmp .Lskip_\@", "", X86_FEATURE_SPEC_CTRL
>> + testl $1, dynamic_ibrs
>
> On every system call we end up hammering on this 'dynamic_ibrs'
> variable. And it looks like it can be flipped via the IPI mechanism.
On system call, we read dynamic_ibrs value (not change it) and
flip the IBRS msr only if it dynamic_ibrs is true.
We only do global change to all the IBRS msrs on all cpus during
the admin request to change its value, serialized by
spec_ctrl_mutex. Before we do that, we set dynamic_ibrs to 0,
so each cpu no longer do any change to IBRS. Then the IPI happens
to update the IBRS MSR values.
>
> Would it make sense for this to be per-cpu?
>
Powered by blists - more mailing lists