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? (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) -- Thanks, David / dhildenb