Re: [PATCH] x86/microcode: Add an option to reload microcode even if revision is unchanged
From: Borislav Petkov
Date: Fri Sep 06 2019 - 12:17:50 EST
On Fri, Sep 06, 2019 at 08:46:18AM -0700, Johannes Erdfelt wrote:
> That said, we very much rely on late microcode loading and it has helped
> us and our customers significantly.
You do realize that you rely on an update method which *won't* work in
all possible cases and then you *will* have to reboot if the microcode
patching *must* happen early, do you?
> It's really easy to say "fix your infrastructure" when you're not
> running that infrastructure.
I'm not saying you should fix your infrastructure now - I'm saying you
should keep that in mind when thinking whether to rely more on late
loading or not. Who knows, maybe newer generation machines in the fleet
could do load balancing, live migration, whatever fancy new cloud stuff
it is, to facilitate a proper reboot.
Or someone could rewrite arch/x86/ to rediscover new features upon a
microcode reload or a feature disabling. And do that in a clean way. Who
knows...
> Reboots suck. Customers hate it. Operations hates it. When you get into
> the number of hosts we have, you run into all kinds of weird failure
> scenarios. (What do you mean that the NIC that was working just fine
> before the reboot is no longer seen on the PCI bus?)
Yeah, I've heard all the stories.
> The more reboots we can avoid, the better it is for us and our
> customers.
So how do you update the kernels on those machines? Or you live-patch in
the new functionality too?
> I understand that it could be unsafe to late load some rare microcode
> updates (theoretical or not). However, that is certainly the exception.
> We have done this multiple times on our fleet and we plan to continue
> doing so in the future.
The fact that it has worked for you does not make it right. It won't
magically become safe, as tglx said.
But since you do custom development, you should be fine, it seems.
Practically speaking, late loading probably won't disappear as it is
being used apparently. Just don't expect that it will get "extended" if
that extension brings with itself fallout and duct tape fixes left and
right.
--
Regards/Gruss,
Boris.
https://people.kernel.org/tglx/notes-about-netiquette