Re: [PATCH v3 2/4] mm: simplify parater of function memmap_init_zone()
From: Baoquan He
Date: Thu Jan 07 2021 - 08:20:30 EST
On 01/05/21 at 05:53pm, David Hildenbrand wrote:
> [...]
>
> > -void __meminit
> > -memmap_init_zone(unsigned long size, int nid, unsigned long zone,
> > - unsigned long start_pfn)
> > +void __meminit memmap_init_zone(struct zone *zone)
> > {
> > + unsigned long size = zone->spanned_pages;
> > + int nid = zone_to_nid(zone), zone_id = zone_idx(zone);
> > + unsigned long start_pfn = zone->zone_start_pfn;
> > +
>
> Nit: reverse Christmas tree.
Ah, yes, I will reorder these lines.
>
> > if (!vmem_map) {
> > - memmap_init_range(size, nid, zone, start_pfn, start_pfn + size,
> > + memmap_init_range(size, nid, zone_id, start_pfn, start_pfn + size,
> > MEMINIT_EARLY, NULL, MIGRATE_MOVABLE);
> > } else {
> > struct page *start;
> > @@ -556,7 +558,7 @@ memmap_init_zone(unsigned long size, int nid, unsigned long zone,
> > args.start = start;
> > args.end = start + size;
> > args.nid = nid;
> > - args.zone = zone;
> > + args.zone = zone_id;
> >
> > efi_memmap_walk(virtual_memmap_init, &args);
> > }
> > diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> > index 69ebf75be91c..b2a46ffdaf0b 100644
> > --- a/mm/page_alloc.c
> > +++ b/mm/page_alloc.c
> > @@ -6292,16 +6292,16 @@ static inline u64 init_unavailable_range(unsigned long spfn, unsigned long epfn,
> > }
> > #endif
> >
> > -void __init __weak memmap_init_zone(unsigned long size, int nid,
> > - unsigned long zone,
> > - unsigned long zone_start_pfn)
> > +void __init __weak memmap_init_zone(struct zone *zone)
> > {
> > unsigned long start_pfn, end_pfn, hole_start_pfn = 0;
> > - unsigned long zone_end_pfn = zone_start_pfn + size;
> > + int i, nid = zone_to_nid(zone), zone_id = zone_idx(zone);
> > + unsigned long zone_start_pfn = zone->zone_start_pfn;
> > + unsigned long zone_end_pfn = zone_start_pfn + zone->spanned_pages;
>
> dito.
OK.
>
> > u64 pgcnt = 0;
> > - int i;
> >
> > for_each_mem_pfn_range(i, nid, &start_pfn, &end_pfn, NULL) {
> > + unsigned long size;
>
> You can just get rid of this parameter IMHO.
Someone possibly like a intermediate local variable better in this case,
but I am fine to both, will change as you suggested.
>
> (Also, there is an empty line missing right now)
Sure. Thanks.
>
>
> Apart from that LGTM
>
> --
> Thanks,
>
> David / dhildenb