]> asedeno.scripts.mit.edu Git - linux.git/commit
x86/microcode: Update late microcode in parallel
authorAshok Raj <ashok.raj@intel.com>
Thu, 22 Aug 2019 20:43:47 +0000 (23:43 +0300)
committerBorislav Petkov <bp@suse.de>
Tue, 1 Oct 2019 13:58:54 +0000 (15:58 +0200)
commit93946a33b5693a6bbcf917a170198ff4afaa7a31
treef46baeb2b9024c89c46ab95d2aa75ea37397d349
parent2b730952066cd022d1f46e801f06ca6ca9878823
x86/microcode: Update late microcode in parallel

Microcode update was changed to be serialized due to restrictions after
Spectre days. Updating serially on a large multi-socket system can be
painful since it is being done on one CPU at a time.

Cloud customers have expressed discontent as services disappear for
a prolonged time. The restriction is that only one core (or only one
thread of a core in the case of an SMT system) goes through the update
while other cores (or respectively, SMT threads) are quiesced.

Do the microcode update only on the first thread of each core while
other siblings simply wait for this to complete.

 [ bp: Simplify, massage, cleanup comments. ]

Signed-off-by: Ashok Raj <ashok.raj@intel.com>
Signed-off-by: Mihai Carabas <mihai.carabas@oracle.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Jon Grimm <Jon.Grimm@amd.com>
Cc: kanth.ghatraju@oracle.com
Cc: konrad.wilk@oracle.com
Cc: patrick.colp@oracle.com
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Tom Lendacky <thomas.lendacky@amd.com>
Cc: x86-ml <x86@kernel.org>
Link: https://lkml.kernel.org/r/1566506627-16536-2-git-send-email-mihai.carabas@oracle.com
arch/x86/kernel/cpu/microcode/core.c