On Thu, Oct 05, 2023 at 10:04:28PM +0800, Yajun Deng wrote: > > > > > > > > That 'if' breaks the invariant that __free_pages_core is > > > > > > > always called for pages with initialized page count. Adding > > > > > > > it may lead to subtle bugs and random memory corruption so we > > > > > > > don't want to add it at the first place. > > > > > > > > > > > > As long as we have to special-case memory hotplug, we know that > > > > > > we are always coming via generic_online_page() in that case. We > > > > > > could either move some logic over there, or let > > > > > > __free_pages_core() know what it should do. > > > > > > > > > > Looks like the patch rather special cases MEMINIT_EARLY, although > > > > > I didn't check throughfully other code paths. Anyway, relying on > > > > > page_count() to be correct in different ways for different > > > > > callers of __free_pages_core() does not sound right to me. > > > > > > > > Absolutely agreed. > > > > > > > I already sent v5 a few days ago. Comments, please... > > > > Does it address all the feedback from this thread? > > Except hotplug. Please reread carefully the last comments from me and from David above. -- Sincerely yours, Mike.