On Thu, Oct 05, 2023 at 10:04:28PM +0800, Yajun Deng wrote:
Please reread carefully the last comments from me and from David above.Except hotplug.Does it address all the feedback from this thread?I already sent v5 a few days ago. Comments, please...Absolutely agreed.Looks like the patch rather special cases MEMINIT_EARLY, althoughThat 'if' breaks the invariant that __free_pages_core isAs long as we have to special-case memory hotplug, we know that
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.
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.
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.