From: "Raj, Ashok" <ashok.raj@intel.com>
To: Borislav Petkov <bp@suse.de>
Cc: X86 ML <x86@kernel.org>, LKML <linux-kernel@vger.kernel.org>,
Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@kernel.org>, Tony Luck <tony.luck@intel.com>,
Andi Kleen <andi.kleen@intel.com>,
Tom Lendacky <thomas.lendacky@amd.com>,
Arjan Van De Ven <arjan.van.de.ven@intel.com>,
Ashok Raj <ashok.raj@intel.com>
Subject: Re: [v2 1/3] x86/microcode/intel: Check microcode revision before updating sibling threads
Date: Thu, 22 Feb 2018 05:19:18 -0800 [thread overview]
Message-ID: <20180222131918.GB3797@araj-mobl1.jf.intel.com> (raw)
In-Reply-To: <20180222121506.GC27489@pd.tnic>
On Thu, Feb 22, 2018 at 01:15:06PM +0100, Borislav Petkov wrote:
> On Thu, Feb 22, 2018 at 03:55:54AM -0800, Raj, Ashok wrote:
> > The current code wasn't trying to enforce checking the loaded microcode revision on a thread
> > before attempting to load the microcode. While you comeback from resume, if C0T0 already
> > is up, and we loaded the early microcode, then when handling C0T1 there is no need to
> > do a wrmsrl to reapply microcode since its already loaded as part of C0T0.
>
> And I'm asking exactly this: is it simply "we don't need to do WRMSR" or
> "we should not"?
>
> Because avoiding the WRMSR costs more than simply doing it and letting
> the HT thread ignore the supplied microcode.
This isn't a simple WRMSR like others. Microcode engine needs to do
a bunch of validation.
>
> If it is "we don't need to but there's nothing wrong when we do it" then
> we don't need this patch. And I'm pretty sure "nothing wrong when we do
> it" would be the answer. Otherwise we have bigger problems.
In the past the only guidance was to not load microcode at the same time to the
thread siblings of a core. We now have new guidance that the sibling must be
spinning and not doing other things that can introduce instability around loading
microcode.
I think its safer to not load when its not required vs forcing a load and depending
on the microcode interface to not interfere. If the rules change in future we don't
have to adapt again.
next prev parent reply other threads:[~2018-02-22 13:19 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-02-22 6:33 [v2 0/3] Patches to address some limitations in OS microcode loading Ashok Raj
2018-02-22 6:33 ` [v2 1/3] x86/microcode/intel: Check microcode revision before updating sibling threads Ashok Raj
2018-02-22 11:00 ` Borislav Petkov
2018-02-22 11:55 ` Raj, Ashok
2018-02-22 12:15 ` Borislav Petkov
2018-02-22 13:19 ` Raj, Ashok [this message]
2018-02-22 13:44 ` Borislav Petkov
2018-02-22 15:46 ` Henrique de Moraes Holschuh
2018-02-22 15:49 ` Van De Ven, Arjan
2018-02-22 17:51 ` Henrique de Moraes Holschuh
2018-02-22 6:33 ` [v2 2/3] x86/microcode/intel: Perform a cache flush before ucode update Ashok Raj
2018-02-22 6:33 ` [v2 3/3] x86/microcode: Quiesce all threads before a microcode update Ashok Raj
2018-02-22 11:44 ` Borislav Petkov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180222131918.GB3797@araj-mobl1.jf.intel.com \
--to=ashok.raj@intel.com \
--cc=andi.kleen@intel.com \
--cc=arjan.van.de.ven@intel.com \
--cc=bp@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=tglx@linutronix.de \
--cc=thomas.lendacky@amd.com \
--cc=tony.luck@intel.com \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®