On Thu, Jun 01, 2023 at 06:35:36AM +0000, Haifeng Xu wrote: > For empty zone, it's unnecessary to account for pages used by memmap. > Also, the pages reserved in dma zone can be ignored. > > Signed-off-by: Haifeng Xu <haifeng.xu@xxxxxxxxxx> > --- > mm/mm_init.c | 11 +++++++---- > 1 file changed, 7 insertions(+), 4 deletions(-) > > diff --git a/mm/mm_init.c b/mm/mm_init.c > index 232efac9a929..b82718d596c3 100644 > --- a/mm/mm_init.c > +++ b/mm/mm_init.c > @@ -1543,6 +1543,13 @@ static void __init free_area_init_core(struct pglist_data *pgdat) > size = zone->spanned_pages; > freesize = zone->present_pages; > > + if (!size) { > + nr_kernel_pages += 0; > + nr_all_pages += 0; Please drop these, they are nops anyway. > + zone_init_internals(zone, j, nid, 0); > + continue; > + } > + > /* > * Adjust freesize so that it accounts for how much memory > * is used by this zone for memmap. This affects the watermark > @@ -1579,10 +1586,6 @@ static void __init free_area_init_core(struct pglist_data *pgdat) > * And all highmem pages will be managed by the buddy system. > */ > zone_init_internals(zone, j, nid, freesize); > - > - if (!size) > - continue; > - > setup_usemap(zone); > init_currently_empty_zone(zone, zone->zone_start_pfn, size); > } > -- > 2.25.1 > -- Sincerely yours, Mike.