From: Ingo Molnar <mingo@kernel.org>
To: Ashok Raj <ashok.raj@intel.com>
Cc: bp@suse.de, X86 ML <x86@kernel.org>,
LKML <linux-kernel@vger.kernel.org>,
Thomas Gleixner <tglx@linutronix.de>
Subject: Re: [PATCH] x86/microcode/intel: Check microcode revision before updating sibling threads
Date: Sat, 17 Feb 2018 08:50:53 +0100 [thread overview]
Message-ID: <20180217075053.2muugr2ioqvawfxv@gmail.com> (raw)
In-Reply-To: <1518809669-3651-1-git-send-email-ashok.raj@intel.com>
* Ashok Raj <ashok.raj@intel.com> wrote:
> After updating microcode on one of the threads in the core, the
> thread sibling automatically gets the update since the microcode
> resources are shared. Check the ucode revision on the cpu before
> performing a ucode update.
s/cpu/CPU
>
> Signed-off-by: Ashok Raj <ashok.raj@intel.com>
> Cc: X86 ML <x86@kernel.org>
> Cc: LKML <linux-kernel@vger.kernel.org>
> ---
> arch/x86/kernel/cpu/microcode/intel.c | 16 +++++++++++++---
> 1 file changed, 13 insertions(+), 3 deletions(-)
>
> diff --git a/arch/x86/kernel/cpu/microcode/intel.c b/arch/x86/kernel/cpu/microcode/intel.c
> index 09b95a7..036d1db 100644
> --- a/arch/x86/kernel/cpu/microcode/intel.c
> +++ b/arch/x86/kernel/cpu/microcode/intel.c
> @@ -776,7 +776,7 @@ static enum ucode_state apply_microcode_intel(int cpu)
> {
> struct microcode_intel *mc;
> struct ucode_cpu_info *uci;
> - struct cpuinfo_x86 *c;
> + struct cpuinfo_x86 *c = &cpu_data(cpu);
> static int prev_rev;
> u32 rev;
>
> @@ -793,6 +793,18 @@ static enum ucode_state apply_microcode_intel(int cpu)
> return UCODE_NFOUND;
> }
>
> + rev = intel_get_microcode_revision();
> + /*
> + * Its possible the microcode got udpated
> + * because its sibling update was done earlier.
> + * Skip the udpate in that case.
> + */
> + if (rev >= mc->hdr.rev) {
> + uci->cpu_sig.rev = rev;
> + c->microcode = rev;
> + return UCODE_OK;
> + }
s/udpate
/update
Also, more fundamentally, during microcode early testing, isn't it possible for
internal iterations of the microcode to have the same revision, but be different?
This patch would prevent re-loading it - for a seemingly minimal benefit.
Thanks,
Ingo
next prev parent reply other threads:[~2018-02-17 7:50 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-02-16 19:34 Ashok Raj
2018-02-17 7:50 ` Ingo Molnar [this message]
2018-02-17 12:10 ` Raj, Ashok
2018-02-18 12:46 ` Ingo Molnar
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=20180217075053.2muugr2ioqvawfxv@gmail.com \
--to=mingo@kernel.org \
--cc=ashok.raj@intel.com \
--cc=bp@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=tglx@linutronix.de \
--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®