[<prev] [next>] [day] [month] [year] [list]
Message-Id: <20200630032204.45639-1-richard.weiyang@linux.alibaba.com>
Date: Tue, 30 Jun 2020 11:22:04 +0800
From: Wei Yang <richard.weiyang@...ux.alibaba.com>
To: dave.hansen@...ux.intel.com, luto@...nel.org, peterz@...radead.org,
tglx@...utronix.de
Cc: x86@...nel.org, linux-kernel@...r.kernel.org,
Wei Yang <richard.weiyang@...ux.alibaba.com>,
Baoquan He <bhe@...hat.com>,
"Kirill A . Shutemov" <kirill.shutemov@...ux.intel.com>
Subject: [PATCH] x86/mm: calculate the proper boundary in register_page_bootmem_memmap()
It would be proper to jump to end boundary of the proper level instead
of always jump to the end boundary of a PAGE.
Signed-off-by: Wei Yang <richard.weiyang@...ux.alibaba.com>
CC: Baoquan He <bhe@...hat.com>
CC: Kirill A. Shutemov <kirill.shutemov@...ux.intel.com>
---
arch/x86/mm/init_64.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c
index f902fbd17f27..45eddb755eaa 100644
--- a/arch/x86/mm/init_64.c
+++ b/arch/x86/mm/init_64.c
@@ -1536,21 +1536,21 @@ void register_page_bootmem_memmap(unsigned long section_nr,
pgd = pgd_offset_k(addr);
if (pgd_none(*pgd)) {
- next = (addr + PAGE_SIZE) & PAGE_MASK;
+ next = pgd_addr_end(addr, end);
continue;
}
get_page_bootmem(section_nr, pgd_page(*pgd), MIX_SECTION_INFO);
p4d = p4d_offset(pgd, addr);
if (p4d_none(*p4d)) {
- next = (addr + PAGE_SIZE) & PAGE_MASK;
+ next = p4d_addr_end(addr, end);
continue;
}
get_page_bootmem(section_nr, p4d_page(*p4d), MIX_SECTION_INFO);
pud = pud_offset(p4d, addr);
if (pud_none(*pud)) {
- next = (addr + PAGE_SIZE) & PAGE_MASK;
+ next = pud_addr_end(addr, end);
continue;
}
get_page_bootmem(section_nr, pud_page(*pud), MIX_SECTION_INFO);
--
2.20.1 (Apple Git-117)
Powered by blists - more mailing lists