Re: [PATCH] mm: don't rely on system state to detect hot-plug operations

From: Greg Kroah-Hartman
Date: Wed Sep 09 2020 - 08:53:20 EST


On Wed, Sep 09, 2020 at 02:32:57PM +0200, David Hildenbrand wrote:
> On 09.09.20 14:30, Greg Kroah-Hartman wrote:
> > On Wed, Sep 09, 2020 at 11:24:24AM +0200, David Hildenbrand wrote:
> >>>> I am not sure an enum is going to make the existing situation less
> >>>> messy. Sure we somehow have to distinguish boot init and runtime hotplug
> >>>> because they have different constrains. I am arguing that a) we should
> >>>> have a consistent way to check for those and b) we shouldn't blow up
> >>>> easily just because sysfs infrastructure has failed to initialize.
> >>>
> >>> For the point a, using the enum allows to know in register_mem_sect_under_node()
> >>> if the link operation is due to a hotplug operation or done at boot time.
> >>>
> >>> For the point b, one option would be ignore the link error in the case the link
> >>> is already existing, but that BUG_ON() had the benefit to highlight the root issue.
> >>>
> >>
> >> WARN_ON_ONCE() would be preferred - not crash the system but still
> >> highlight the issue.
> >
> > Many many systems now run with 'panic on warn' enabled, so that wouldn't
> > change much :(
> >
> > If you can warn, you can properly just print an error message and
> > recover from the problem.
>
> Maybe VM_WARN_ON_ONCE() then to detect this during testing?

If you all use that, sure.

> (we basically turned WARN_ON_ONCE() useless with 'panic on warn' getting
> used in production - behaves like BUG_ON and BUG_ON is frowned upon)

Yes we have, but in the end, it's good, those things should be fixed and
not accessable by anything a user can trigger.

thanks,

greg k-h