Revision a5321aec6412b20b5ad15db2d6b916c05349dbff authored by Ashok Raj on 28 February 2018, 10:28:46 UTC, committed by Thomas Gleixner on 08 March 2018, 09:19:26 UTC
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

1 parent cfb52a5
History
File Mode Size
bpf
cgroup
configs
debug
events
gcov
irq
livepatch
locking
power
printk
rcu
sched
time
trace
.gitignore -rw-r--r-- 69 bytes
Kconfig.freezer -rw-r--r-- 52 bytes
Kconfig.hz -rw-r--r-- 1.6 KB
Kconfig.locks -rw-r--r-- 4.8 KB
Kconfig.preempt -rw-r--r-- 2.1 KB
Makefile -rw-r--r-- 4.0 KB
acct.c -rw-r--r-- 15.4 KB
async.c -rw-r--r-- 10.1 KB
audit.c -rw-r--r-- 61.6 KB
audit.h -rw-r--r-- 11.0 KB
audit_fsnotify.c -rw-r--r-- 6.1 KB
audit_tree.c -rw-r--r-- 23.9 KB
audit_watch.c -rw-r--r-- 14.6 KB
auditfilter.c -rw-r--r-- 34.3 KB
auditsc.c -rw-r--r-- 66.0 KB
backtracetest.c -rw-r--r-- 2.1 KB
bounds.c -rw-r--r-- 739 bytes
capability.c -rw-r--r-- 13.9 KB
compat.c -rw-r--r-- 15.7 KB
configs.c -rw-r--r-- 2.8 KB
context_tracking.c -rw-r--r-- 6.3 KB
cpu.c -rw-r--r-- 48.1 KB
cpu_pm.c -rw-r--r-- 6.0 KB
crash_core.c -rw-r--r-- 11.3 KB
crash_dump.c -rw-r--r-- 1.3 KB
cred.c -rw-r--r-- 21.5 KB
delayacct.c -rw-r--r-- 4.6 KB
dma.c -rw-r--r-- 3.6 KB
elfcore.c -rw-r--r-- 432 bytes
exec_domain.c -rw-r--r-- 1.4 KB
exit.c -rw-r--r-- 44.3 KB
extable.c -rw-r--r-- 4.8 KB
fail_function.c -rw-r--r-- 7.0 KB
fork.c -rw-r--r-- 60.4 KB
freezer.c -rw-r--r-- 4.4 KB
futex.c -rw-r--r-- 97.4 KB
futex_compat.c -rw-r--r-- 4.5 KB
groups.c -rw-r--r-- 4.9 KB
hung_task.c -rw-r--r-- 6.2 KB
irq_work.c -rw-r--r-- 4.4 KB
jump_label.c -rw-r--r-- 19.8 KB
kallsyms.c -rw-r--r-- 17.0 KB
kcmp.c -rw-r--r-- 5.7 KB
kcov.c -rw-r--r-- 10.6 KB
kexec.c -rw-r--r-- 7.0 KB
kexec_core.c -rw-r--r-- 30.8 KB
kexec_file.c -rw-r--r-- 25.4 KB
kexec_internal.h -rw-r--r-- 924 bytes
kmod.c -rw-r--r-- 5.0 KB
kprobes.c -rw-r--r-- 62.8 KB
ksysfs.c -rw-r--r-- 6.3 KB
kthread.c -rw-r--r-- 33.3 KB
latencytop.c -rw-r--r-- 7.9 KB
memremap.c -rw-r--r-- 14.2 KB
module-internal.h -rw-r--r-- 458 bytes
module.c -rw-r--r-- 111.5 KB
module_signing.c -rw-r--r-- 2.2 KB
notifier.c -rw-r--r-- 16.3 KB
nsproxy.c -rw-r--r-- 6.5 KB
padata.c -rw-r--r-- 27.1 KB
panic.c -rw-r--r-- 17.0 KB
params.c -rw-r--r-- 23.2 KB
pid.c -rw-r--r-- 11.1 KB
pid_namespace.c -rw-r--r-- 11.6 KB
profile.c -rw-r--r-- 14.8 KB
ptrace.c -rw-r--r-- 32.4 KB
range.c -rw-r--r-- 3.0 KB
reboot.c -rw-r--r-- 13.8 KB
relay.c -rw-r--r-- 32.1 KB
resource.c -rw-r--r-- 40.2 KB
seccomp.c -rw-r--r-- 32.5 KB
signal.c -rw-r--r-- 103.6 KB
smp.c -rw-r--r-- 21.3 KB
smpboot.c -rw-r--r-- 13.1 KB
smpboot.h -rw-r--r-- 640 bytes
softirq.c -rw-r--r-- 18.8 KB
stacktrace.c -rw-r--r-- 1.8 KB
stop_machine.c -rw-r--r-- 17.1 KB
sys.c -rw-r--r-- 60.6 KB
sys_ni.c -rw-r--r-- 7.3 KB
sysctl.c -rw-r--r-- 73.6 KB
sysctl_binary.c -rw-r--r-- 51.0 KB
task_work.c -rw-r--r-- 3.1 KB
taskstats.c -rw-r--r-- 15.4 KB
test_kprobes.c -rw-r--r-- 7.9 KB
torture.c -rw-r--r-- 21.0 KB
tracepoint.c -rw-r--r-- 14.6 KB
tsacct.c -rw-r--r-- 5.1 KB
ucount.c -rw-r--r-- 5.7 KB
uid16.c -rw-r--r-- 5.0 KB
umh.c -rw-r--r-- 15.2 KB
up.c -rw-r--r-- 2.0 KB
user-return-notifier.c -rw-r--r-- 1.3 KB
user.c -rw-r--r-- 5.4 KB
user_namespace.c -rw-r--r-- 33.3 KB
utsname.c -rw-r--r-- 3.6 KB
utsname_sysctl.c -rw-r--r-- 3.0 KB
watchdog.c -rw-r--r-- 21.7 KB
watchdog_hld.c -rw-r--r-- 7.7 KB
workqueue.c -rw-r--r-- 156.3 KB
workqueue_internal.h -rw-r--r-- 2.3 KB

back to top