powerpc/mm/4k: don't allocate larger pmd page table for 4k
authorAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Wed, 4 Jan 2017 02:49:12 +0000 (08:19 +0530)
committerMichael Ellerman <mpe@ellerman.id.au>
Mon, 23 Jan 2017 08:19:35 +0000 (19:19 +1100)
We now support THP with both 64k and 4K page size configuration
for radix. (hash only support THP with 64K page size). Hence we
will have CONFIG_TRANSPARENT_HUGEPAGE enabled for both PPC_64K
and PPC_4K config. Since we only need large pmd page table
with hash configuration (to store the slot information
in the second half of the table) restrict the large pmd page table
to THP and 64K configs.

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Reviewed-by: Anshuman Khandual <khandual@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/include/asm/book3s/64/hash.h

index 4c935f7504f783532d3521d04142dfdb5831f943..f7b721bbf918bf055b5c5a0efa8cfc90de053384 100644 (file)
@@ -33,9 +33,9 @@
                                 H_PUD_INDEX_SIZE + H_PGD_INDEX_SIZE + PAGE_SHIFT)
 #define H_PGTABLE_RANGE                (ASM_CONST(1) << H_PGTABLE_EADDR_SIZE)
 
-#ifdef CONFIG_TRANSPARENT_HUGEPAGE
+#if defined(CONFIG_TRANSPARENT_HUGEPAGE) &&  defined(CONFIG_PPC_64K_PAGES)
 /*
- * only with hash we need to use the second half of pmd page table
+ * only with hash 64k we need to use the second half of pmd page table
  * to store pointer to deposited pgtable_t
  */
 #define H_PMD_CACHE_INDEX      (H_PMD_INDEX_SIZE + 1)