On 20.08.2018 11:45, David Hildenbrand wrote: > On 17.08.2018 10:18, Oscar Salvador wrote: >>> failed_addition: >>> +#ifdef CONFIG_DEBUG_VM >>> pr_debug("online_pages [mem %#010llx-%#010llx] failed\n", >>> (unsigned long long) pfn << PAGE_SHIFT, >>> (((unsigned long long) pfn + nr_pages) << PAGE_SHIFT) - 1); >>> +#endif >> >> I have never been sure about this. >> IMO, if I fail to online pages, I want to know I failed. >> I think that pr_err would be better than pr_debug and without CONFIG_DEBUG_VM. > > I consider both error messages only partially useful, as > > 1. They only catch a subset of actual failures the function handles. > E.g. onlining will not report an error message if the memory notifier > failed. That statement was wrong. It is rather in offline_pages, errors from start_isolate_page_range() are ignored. > 2. Onlining/Offlining is usually (with exceptions - e.g. onlining during > add_memory) triggered from user space, where we present an error > code. At any times, the actual state of the memory blocks can be > observed by querying the state. > > I would even vote for dropping the two error case messages completely. > At least I don't consider them very useful. > >> >> But at least, if not, envolve it with a CONFIG_DEBUG_VM, but change pr_debug to pr_info. >> >>> +#ifdef CONFIG_DEBUG_VM >>> pr_debug("memory offlining [mem %#010llx-%#010llx] failed\n", >>> (unsigned long long) start_pfn << PAGE_SHIFT, >>> ((unsigned long long) end_pfn << PAGE_SHIFT) - 1); >>> +#endif >> >> Same goes here. >> >> Thanks >> > > -- Thanks, David / dhildenb