2021-06-29 16:27:23

by liwei (GF)

[permalink] [raw]
Subject: [PATCH RESEND] MIPS: Fix PKMAP with 32-bit MIPS huge page support

When 32-bit MIPS huge page support is enabled, we halve the number of
pointers a PTE page holds, making its last half go to waste.
Correspondingly, we should halve the number of kmap entries, as we just
initialized only a single pte table for that in pagetable_init().

Fixes: 35476311e529 ("MIPS: Add partial 32-bit huge page support")
Signed-off-by: Wei Li <[email protected]>
---
arch/mips/include/asm/highmem.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/mips/include/asm/highmem.h b/arch/mips/include/asm/highmem.h
index 292d0425717f..92a380210017 100644
--- a/arch/mips/include/asm/highmem.h
+++ b/arch/mips/include/asm/highmem.h
@@ -36,7 +36,7 @@ extern pte_t *pkmap_page_table;
* easily, subsequent pte tables have to be allocated in one physical
* chunk of RAM.
*/
-#ifdef CONFIG_PHYS_ADDR_T_64BIT
+#if defined(CONFIG_PHYS_ADDR_T_64BIT) || defined(CONFIG_MIPS_HUGE_TLB_SUPPORT)
#define LAST_PKMAP 512
#else
#define LAST_PKMAP 1024
--
2.25.1


2021-06-30 12:55:20

by Thomas Bogendoerfer

[permalink] [raw]
Subject: Re: [PATCH RESEND] MIPS: Fix PKMAP with 32-bit MIPS huge page support

On Tue, Jun 29, 2021 at 10:14:20PM +0800, Wei Li wrote:
> When 32-bit MIPS huge page support is enabled, we halve the number of
> pointers a PTE page holds, making its last half go to waste.
> Correspondingly, we should halve the number of kmap entries, as we just
> initialized only a single pte table for that in pagetable_init().
>
> Fixes: 35476311e529 ("MIPS: Add partial 32-bit huge page support")
> Signed-off-by: Wei Li <[email protected]>
> ---
> arch/mips/include/asm/highmem.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)

applied to mips-next.

Thomas.

--
Crap can work. Given enough thrust pigs will fly, but it's not necessarily a
good idea. [ RFC1925, 2.3 ]