Re: + mm-initialize-struct-pages-in-reserved-regions-outside-of-the-zone-ranges.patch added to -mm tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Dec 07, 2020 at 09:58:37AM +0100, David Hildenbrand wrote:
> On 06.12.20 01:54, akpm@xxxxxxxxxxxxxxxxxxxx wrote:
> > 
> > The patch titled
> >      Subject: mm: initialize struct pages in reserved regions outside of the zone ranges
> > has been added to the -mm tree.  Its filename is
> >      mm-initialize-struct-pages-in-reserved-regions-outside-of-the-zone-ranges.patch
> > 
> > This patch should soon appear at
> >     https://ozlabs.org/~akpm/mmots/broken-out/mm-initialize-struct-pages-in-reserved-regions-outside-of-the-zone-ranges.patch
> > and later at
> >     https://ozlabs.org/~akpm/mmotm/broken-out/mm-initialize-struct-pages-in-reserved-regions-outside-of-the-zone-ranges.patch
> > 
> > Before you just go and hit "reply", please:
> >    a) Consider who else should be cc'ed
> >    b) Prefer to cc a suitable mailing list as well
> >    c) Ideally: find the original patch on the mailing list and do a
> >       reply-to-all to that, adding suitable additional cc's
> > 
> > *** Remember to use Documentation/process/submit-checklist.rst when testing your code ***
> > 
> > The -mm tree is included into linux-next and is updated
> > there every 3-4 working days
> > 
> > ------------------------------------------------------
> > From: Andrea Arcangeli <aarcange@xxxxxxxxxx>
> > Subject: mm: initialize struct pages in reserved regions outside of the zone ranges
> > 
> > Without this change, the pfn 0 isn't in any zone spanned range, and it's
> > also not in any memory.memblock range, so the struct page of pfn 0 wasn't
> > initialized and the PagePoison remained set when reserve_bootmem_region
> > called __SetPageReserved, inducing a silent boot failure with DEBUG_VM
> > (and correctly so, because the crash signaled the nodeid/nid of pfn 0
> > would be again wrong).
> > 
> > There's no enforcement that all memblock.reserved ranges must overlap
> > memblock.memory ranges, so the memblock.reserved ranges also require an
> > explicit initialization and the zones ranges need to be extended to
> > include all memblock.reserved ranges with struct pages too or they'll be
> > left uninitialized with PagePoison as it happened to pfn 0.
> > 
> > Link: https://lkml.kernel.org/r/20201205013238.21663-2-aarcange@xxxxxxxxxx
> > Fixes: 73a6e474cb37 ("mm: memmap_init: iterate over memblock regions rather that check each PFN")
> > Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx>
> > Cc: Mike Rapoport <rppt@xxxxxxxxxxxxx>
> > Cc: Baoquan He <bhe@xxxxxxxxxx>
> > Cc: David Hildenbrand <david@xxxxxxxxxx>
> > Cc: Mel Gorman <mgorman@xxxxxxx>
> > Cc: Michal Hocko <mhocko@xxxxxxxxxx>
> > Cc: Qian Cai <cai@xxxxxx>
> > Cc: Vlastimil Babka <vbabka@xxxxxxx>
> > Cc: <stable@xxxxxxxxxxxxxxx>
> > Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> 
> [...]
> 
> I've lost track which patches are we considering right now to solve the
> overall issue. I'd appreciate a proper patch series with all relevant
> patches.

I think none of the patches is 100% right.
I'll try to send a new version today.

> -- 
> Thanks,
> 
> David / dhildenb
> 

-- 
Sincerely yours,
Mike.



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux