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