On 02/09/2016 09:53 PM, Andrew Morton wrote: > On Tue, 9 Feb 2016 18:58:32 +0100 Vlastimil Babka <vbabka@xxxxxxx> wrote: > >> On 02/05/2016 05:11 PM, Joonsoo Kim wrote: >>> Yeah, it seems wrong to me. :) >>> Here goes fix. >> >> Doesn't apply for me, even after fixing the most obvious line wraps. >> Seems like the version in mmotm is still your original patch and >> Andrew's hotfix? > > Yes, that patch was hopelessly mailer-mangled. I painstakingly fixed > it up and generated the incremental: Thanks a lot. My review of the final patch also involved pain (due to the cold, not the patch!). You can take my Acked-by, but I also find the definitions of set_zone_contiguous/clear_zone_contiguous() "in the header of the consumer" (hotplug) somewhat unusual. It works, but e.g. mm/internal.h would be more expected. Then there's this: > --- a/mm/memory_hotplug.c > +++ b/mm/memory_hotplug.c > @@ -509,6 +509,8 @@ int __ref __add_pages(int nid, struct zone *zone, unsigned long phys_start_pfn, > int start_sec, end_sec; > struct vmem_altmap *altmap; > > + clear_zone_contiguous(zone); > + > /* during initialize mem_map, align hot-added range to section */ > start_sec = pfn_to_section_nr(phys_start_pfn); > end_sec = pfn_to_section_nr(phys_start_pfn + nr_pages - 1); > @@ -540,6 +542,8 @@ int __ref __add_pages(int nid, struct zone *zone, unsigned long phys_start_pfn, > } > vmemmap_populate_print_last(); > > + set_zone_contiguous(zone); > + > return err; > } > EXPORT_SYMBOL_GPL(__add_pages); Between the clear and set, __add_pages() might return with -EINVAL, leaving the flag cleared potentially forever. Not critical, probably rare, but it should be possible to avoid this by moving the clear below the altmap check? Thanks, Vlastimil -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>