Messages in this thread | | | Date | Thu, 26 Oct 2017 08:25:56 +0200 | From | Ingo Molnar <> | Subject | Re: [PATCH v2] x86/mm/64: Rename the register_page_bootmem_memmap() 'size' parameter to 'nr_pages' |
| |
* Baoquan He <bhe@redhat.com> wrote:
> register_page_bootmem_memmap()'s 3rd 'size' parameter is named > in a somewhat misleading fashion - rename it to 'nr_pages' which > makes the units of it much clearer. > > And also rename the existing local variable 'nr_pages' to 'pages'. > Otherwise building error will be reported since these two variables > are different type though both represent number of pages. Take > 'nr_pages' as register_page_bootmem_memmap()'s parameter name since > it has more specific meaning, can make better function interface. > > Signed-off-by: Baoquan He <bhe@redhat.com> > Cc: Linus Torvalds <torvalds@linux-foundation.org> > Cc: Peter Zijlstra <peterz@infradead.org> > Cc: Thomas Gleixner <tglx@linutronix.de> > Cc: akpm@linux-foundation.org > Link: http://lkml.kernel.org/r/1508849249-18035-1-git-send-email-bhe@redhat.com > Signed-off-by: Ingo Molnar <mingo@kernel.org> > --- > v1->v2: > Code change in v1 is incomplete, caused build failure. Change > it after Ingo pointed it out. > > And Ingo helped rewrite the change log of v1. I also add description > about the local variable change. > > arch/x86/mm/init_64.c | 10 +++++----- > include/linux/mm.h | 2 +- > 2 files changed, 6 insertions(+), 6 deletions(-) > > diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c > index 048fbe8fc274..18b9d2c7f5ef 100644 > --- a/arch/x86/mm/init_64.c > +++ b/arch/x86/mm/init_64.c > @@ -1426,16 +1426,16 @@ int __meminit vmemmap_populate(unsigned long start, unsigned long end, int node) > > #if defined(CONFIG_MEMORY_HOTPLUG_SPARSE) && defined(CONFIG_HAVE_BOOTMEM_INFO_NODE) > void register_page_bootmem_memmap(unsigned long section_nr, > - struct page *start_page, unsigned long size) > + struct page *start_page, unsigned long nr_pages) > { > unsigned long addr = (unsigned long)start_page; > - unsigned long end = (unsigned long)(start_page + size); > + unsigned long end = (unsigned long)(start_page + nr_pages); > unsigned long next; > pgd_t *pgd; > p4d_t *p4d; > pud_t *pud; > pmd_t *pmd; > - unsigned int nr_pages; > + unsigned int pages; > struct page *page; > > for (; addr < end; addr = next) { > @@ -1482,9 +1482,9 @@ void register_page_bootmem_memmap(unsigned long section_nr, > if (pmd_none(*pmd)) > continue; > > - nr_pages = 1 << (get_order(PMD_SIZE)); > + pages = 1 << (get_order(PMD_SIZE));
Why is the get_order() call in extra parentheses?
Also, the 'pages' name sucks in a similar way 'size' sucks - in this context where we _already_ have a nr_pages variable it should be something more expressive like 'nr_pmd_pages' or so.
Thanks,
Ingo
| |