x86/microcode: Synchronize late microcode loading
authorAshok Raj <ashok.raj@intel.com>
Wed, 28 Feb 2018 10:28:46 +0000 (11:28 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Thu, 8 Mar 2018 09:19:26 +0000 (10:19 +0100)
commita5321aec6412b20b5ad15db2d6b916c05349dbff
treefaa3991f4defe84391675b7cbf10581734818525
parentcfb52a5a09c8ae3a1dafb44ce549fde5b69e8117
x86/microcode: Synchronize late microcode loading

Original idea by Ashok, completely rewritten by Borislav.

Before you read any further: the early loading method is still the
preferred one and you should always do that. The following patch is
improving the late loading mechanism for long running jobs and cloud use
cases.

Gather all cores and serialize the microcode update on them by doing it
one-by-one to make the late update process as reliable as possible and
avoid potential issues caused by the microcode update.

[ Borislav: Rewrite completely. ]

Co-developed-by: Borislav Petkov <bp@suse.de>
Signed-off-by: Ashok Raj <ashok.raj@intel.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
Tested-by: Ashok Raj <ashok.raj@intel.com>
Reviewed-by: Tom Lendacky <thomas.lendacky@amd.com>
Cc: Arjan Van De Ven <arjan.van.de.ven@intel.com>
Link: https://lkml.kernel.org/r/20180228102846.13447-8-bp@alien8.de
arch/x86/kernel/cpu/microcode/core.c