Re: [PATCH] x86/MCE: Prevent CPU offline for SMCA CPUs with non-core banks

From: Yazen Ghannam
Date: Thu Aug 29 2024 - 10:03:24 EST


On Thu, Aug 29, 2024 at 10:39:41AM +0200, Borislav Petkov wrote:
> On August 27, 2024 3:47:06 PM GMT+02:00, Yazen Ghannam <yazen.ghannam@xxxxxxx> wrote:
> >On Tue, Aug 27, 2024 at 02:50:40PM +0200, Borislav Petkov wrote:
> >> On August 26, 2024 3:20:57 PM GMT+02:00, Yazen Ghannam <yazen.ghannam@xxxxxxx> wrote:
> >> >On Sun, Aug 25, 2024 at 01:16:37PM +0200, Thomas Gleixner wrote:
> >> >> On Wed, Aug 21 2024 at 09:00, Yazen Ghannam wrote:
> >> >> > Logical CPUs in AMD Scalable MCA (SMCA) systems can manage non-core
> >> >> > banks. Each of these banks represents unique and separate hardware
> >> >> > located within the system. Each bank is managed by a single logical CPU;
> >> >> > they are not shared. Furthermore, the "CPU to MCA bank" assignment
> >> >> > cannot be modified at run time.
> >> >> >
> >> >> > The MCE subsystem supports run time CPU hotplug. Many vendors have
> >> >> > non-core MCA banks, so MCA settings are not cleared when a CPU is
> >> >> > offlined for these vendors.
> >> >> >
> >> >> > Even though the non-core MCA banks remain enabled, MCA errors will not
> >> >> > be handled (reported, cleared, etc.) on SMCA systems when the managing
> >> >> > CPU is offline.
> >> >> >
> >> >> > Check if a CPU manages non-core MCA banks and, if so, prevent it from
> >> >> > being taken offline.
> >> >>
> >> >> Which in turn breaks hibernation and kexec...
> >> >>
> >> >
> >> >Right, good point.
> >> >
> >> >Maybe this change can apply only to a user-initiated (sysfs) case?
> >> >
> >> >Thanks,
> >> >Yazen
> >> >
> >>
> >> Or, you can simply say that the MCE cannot be processed because the user took the managing CPU offline.
> >>
> >
> >I found that we can not populate the "cpuN/online" file. This would
> >prevent a user from offlining a CPU, but it shouldn't prevent the system
> >from doing what it needs.
> >
> >This is already done for CPU0, and other cases I think.
> >
> >> What is this actually really fixing anyway?
> >
> >There are times where a user wants to take CPUs offline due to software
> >licensing. And this would prevent the user from unintentionally
> >offlining CPUs that would affect MCA handling.
> >
> >Thanks,
> >Yazen
>
> If the user offlines CPUs and some MCEs cannot be handled as a result, then that's her/his problem, no?
>
> - Why does it hurt when I do this?
> - Well, don't do that then.
> --

Right, that was our initial feedback.

But there was an ask to have the kernel manage this.

Do you think we should we continue to pursue this or no?

Thanks,
Yazen