On Wed, Feb 21, 2018 at 10:33:23PM -0800, Ashok Raj 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. > > Signed-off-by: Ashok Raj <ashok....@intel.com> > Cc: X86 ML <x...@kernel.org> > Cc: LKML <linux-kernel@vger.kernel.org> > Cc: Thomas Gleixner <t...@linutronix.de> > Cc: Ingo Molnar <mi...@kernel.org> > Cc: Tony Luck <tony.l...@intel.com> > Cc: Andi Kleen <andi.kl...@intel.com> > Cc: Boris Petkov <b...@suse.de> > Cc: Tom Lendacky <thomas.lenda...@amd.com> > Cc: Arjan Van De Ven <arjan.van.de....@intel.com> > > Updates: > v2: Address Boris's to cleanup apply_microcode_intel > v3: Fixups per Ingo: Spell Checks
That changelog... > --- ... comes under this line so that it can be ignored by tools. > arch/x86/kernel/cpu/microcode/intel.c | 28 +++++++++++++++++++++++++--- > 1 file changed, 25 insertions(+), 3 deletions(-) > > diff --git a/arch/x86/kernel/cpu/microcode/intel.c > b/arch/x86/kernel/cpu/microcode/intel.c > index 09b95a7..137c9f5 100644 > --- a/arch/x86/kernel/cpu/microcode/intel.c > +++ b/arch/x86/kernel/cpu/microcode/intel.c > @@ -589,6 +589,18 @@ static int apply_microcode_early(struct ucode_cpu_info > *uci, bool early) > if (!mc) > return 0; > > + rev = intel_get_microcode_revision(); Ok, so I'm still wondering what this patch is trying to achieve. intel_get_microcode_revision() does already *two* MSR reads and a CPUID. So it is not speed improvements - it actually makes loading slower due to that checking. So why are we doing this again? -- Regards/Gruss, Boris. SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nürnberg) --