OSDN Git Service

MIPS: Fix PKMAP with 32-bit MIPS huge page support
authorWei Li <liwei391@huawei.com>
Tue, 29 Jun 2021 14:14:20 +0000 (22:14 +0800)
committerThomas Bogendoerfer <tsbogend@alpha.franken.de>
Wed, 30 Jun 2021 12:41:32 +0000 (14:41 +0200)
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 <liwei391@huawei.com>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
arch/mips/include/asm/highmem.h

index 292d042..92a3802 100644 (file)
@@ -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