linux/arch/powerpc/mm
Aneesh Kumar K.V 074c2eae3e powerpc/THP: Implement transparent hugepages for ppc64
We now have pmd entries covering 16MB range and the PMD table double its original size.
We use the second half of the PMD table to deposit the pgtable (PTE page).
The depoisted PTE page is further used to track the HPTE information. The information
include [ secondary group | 3 bit hidx | valid ]. We use one byte per each HPTE entry.
With 16MB hugepage and 64K HPTE we need 256 entries and with 4K HPTE we need
4096 entries. Both will fit in a 4K PTE page. On hugepage invalidate we need to walk
the PTE page and invalidate all valid HPTEs.

This patch implements necessary arch specific functions for THP support and also
hugepage invalidate logic. These PMD related functions are intentionally kept
similar to their PTE counter-part.

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2013-06-21 16:01:53 +10:00
..
40x_mmu.c
44x_mmu.c
dma-noncoherent.c
fault.c powerpc: Exception hooks for context tracking subsystem 2013-05-14 16:00:19 +10:00
fsl_booke_mmu.c
gup.c powerpc: Switch 16GB and 16MB explicit hugepages to a different page table format 2013-04-30 15:59:56 +10:00
hash_low_32.S
hash_low_64.S powerpc/mm: handle hugepage size correctly when invalidating hpte entries 2013-06-21 16:01:52 +10:00
hash_native_64.c powerpc/mm: handle hugepage size correctly when invalidating hpte entries 2013-06-21 16:01:52 +10:00
hash_utils_64.c powerpc/mm: handle hugepage size correctly when invalidating hpte entries 2013-06-21 16:01:52 +10:00
highmem.c
hugetlbpage-book3e.c
hugetlbpage-hash64.c powerpc/mm: handle hugepage size correctly when invalidating hpte entries 2013-06-21 16:01:52 +10:00
hugetlbpage.c powerpc: Switch 16GB and 16MB explicit hugepages to a different page table format 2013-04-30 15:59:56 +10:00
icswx_pid.c
icswx.c powerpc: Fix typo "CONFIG_ICSWX_PID" 2013-04-18 13:03:54 +10:00
icswx.h
init_32.c
init_64.c powerpc/THP: Double the PMD table size for THP 2013-06-21 16:01:53 +10:00
Makefile powerpc/mm: Make mmap_64.c compile on 32bit powerpc 2013-06-20 16:55:11 +10:00
mem.c Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2013-05-02 10:16:16 -07:00
mmap.c powerpc/mm: Make mmap_64.c compile on 32bit powerpc 2013-06-20 16:55:11 +10:00
mmu_context_hash32.c
mmu_context_hash64.c powerpc: Reduce PTE table memory wastage 2013-04-30 16:00:07 +10:00
mmu_context_nohash.c powerpc/mm/nohash: Ignore NULL stale_map entries 2013-06-20 16:55:10 +10:00
mmu_decl.h
numa.c Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2013-05-02 10:16:16 -07:00
pgtable_32.c
pgtable_64.c powerpc/THP: Implement transparent hugepages for ppc64 2013-06-21 16:01:53 +10:00
pgtable.c
ppc_mmu_32.c
slb_low.S powerpc: Rename USER_ESID_BITS* to ESID_BITS* 2013-03-17 12:45:44 +11:00
slb.c
slice.c mm: use vm_unmapped_area() on powerpc architecture 2013-04-30 11:05:17 +10:00
stab.c
subpage-prot.c
tlb_hash32.c
tlb_hash64.c powerpc/THP: Implement transparent hugepages for ppc64 2013-06-21 16:01:53 +10:00
tlb_low_64e.S
tlb_nohash_low.S
tlb_nohash.c powerpc/fsl-booke: Support detection of page sizes on e6500 2013-03-05 17:10:27 -06:00