On 4/14/21 3:49 AM, Oscar Salvador wrote: > On Wed, Apr 14, 2021 at 12:32:58PM +0200, Michal Hocko wrote: >> Well, to be precise it does the very same thing with memamp struct pages >> but that is before the initialization code you have pointed out above. >> In this context it just poisons the allocated content which is the GB >> page storage. > > Right. > >>> I checked, and when we get there in __alloc_bootmem_huge_page, page->private is >>> still zeroed, so I guess it should be safe to assume that we do not really need >>> to clear the flag in __prep_new_huge_page() routine? >> >> It would be quite nasty if the struct pages content would be undefined. >> Maybe that is possible but then I would rather stick the initialization >> into __alloc_bootmem_huge_page. > > Yes, but I do not think that is really possible unless I missed something. > Let us see what Mike thinks of it, if there are no objections, we can > get rid of the clearing flag right there. > Thanks for crawling through that code Oscar! I do not think you missed anything. Let's just get rid of the flag clearing. -- Mike Kravetz