• Michal Hocko's avatar
    mm: only report isolation failures when offlining memory · d381c547
    Michal Hocko authored
    Heiko has complained that his log is swamped by warnings from
    has_unmovable_pages
    
    [   20.536664] page dumped because: has_unmovable_pages
    [   20.536792] page:000003d081ff4080 count:1 mapcount:0 mapping:000000008ff88600 index:0x0 compound_mapcount: 0
    [   20.536794] flags: 0x3fffe0000010200(slab|head)
    [   20.536795] raw: 03fffe0000010200 0000000000000100 0000000000000200 000000008ff88600
    [   20.536796] raw: 0000000000000000 0020004100000000 ffffffff00000001 0000000000000000
    [   20.536797] page dumped because: has_unmovable_pages
    [   20.536814] page:000003d0823b0000 count:1 mapcount:0 mapping:0000000000000000 index:0x0
    [   20.536815] flags: 0x7fffe0000000000()
    [   20.536817] raw: 07fffe0000000000 0000000000000100 0000000000000200 0000000000000000
    [   20.536818] raw: 0000000000000000 0000000000000000 ffffffff00000001 0000000000000000
    
    which are not triggered by the memory hotplug but rather CMA allocator.
    The original idea behind dumping the page state for all call paths was
    that these messages will be helpful debugging failures.  From the above it
    seems that this is not the case for the CMA path because we are lacking
    much more context.  E.g the second reported page might be a CMA allocated
    page.  It is still interesting to see a slab page in the CMA area but it
    is hard to tell whether this is bug from the above output alone.
    
    Address this issue by dumping the page state only on request.  Both
    start_isolate_page_range and has_unmovable_pages already have an argument
    to ignore hwpoison pages so make this argument more generic and turn it
    into flags and allow callers to combine non-default modes into a mask.
    While we are at it, has_unmovable_pages call from
    is_pageblock_removable_nolock (sysfs removable file) is questionable to
    report the failure so drop it from there as well.
    
    Link: http://lkml.kernel.org/r/20181218092802.31429-1-mhocko@kernel.orgSigned-off-by: default avatarMichal Hocko <mhocko@suse.com>
    Reported-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
    Reviewed-by: default avatarOscar Salvador <osalvador@suse.de>
    Cc: Anshuman Khandual <anshuman.khandual@arm.com>
    Cc: Stephen Rothwell <sfr@canb.auug.org.au>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    d381c547
memory_hotplug.c 48.2 KB