1
linux/arch/powerpc/mm
David Gibson a0668cdc15 powerpc/mm: Cleanup management of kmem_caches for pagetables
Currently we have a fair bit of rather fiddly code to manage the
various kmem_caches used to store page tables of various levels.  We
generally have two caches holding some combination of PGD, PUD and PMD
tables, plus several more for the special hugepage pagetables.

This patch cleans this all up by taking a different approach.  Rather
than the caches being designated as for PUDs or for hugeptes for 16M
pages, the caches are simply allocated to be a specific size.  Thus
sharing of caches between different types/levels of pagetables happens
naturally.  The pagetable size, where needed, is passed around encoded
in the same way as {PGD,PUD,PMD}_INDEX_SIZE; that is n where the
pagetable contains 2^n pointers.

Signed-off-by: David Gibson <dwg@au1.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2009-10-30 17:20:57 +11:00
..
40x_mmu.c powerpc/mm: Cleanup handling of execute permission 2009-08-27 13:12:51 +10:00
44x_mmu.c powerpc: rework 4xx PTE access and TLB miss 2008-07-09 13:36:17 -04:00
dma-noncoherent.c powerpc: Fix up dma_alloc_coherent() on platforms without cache coherency. 2009-05-27 16:33:59 +10:00
fault.c perf: Do the big rename: Performance Counters -> Performance Events 2009-09-21 14:28:04 +02:00
fsl_booke_mmu.c powerpc/fsl-booke: read buffer overflow 2009-08-20 10:27:12 +10:00
gup.c powerpc: Use pr_devel() in arch/powerpc/mm/gup.c 2009-07-08 13:50:23 +10:00
hash_low_32.S powerpc: Use names rather than numbers for SPRGs (v2) 2009-08-20 10:12:27 +10:00
hash_low_64.S powerpc: Free a PTE bit on ppc64 with 64K pages 2008-06-30 22:30:53 +10:00
hash_native_64.c powerpc: Add 2.06 tlbie mnemonics 2009-05-21 15:44:21 +10:00
hash_utils_64.c powerpc: Fix crash on CPU hotplug 2009-04-22 14:56:34 +10:00
highmem.c powerpc/mm: Make k(un)map_atomic out of line 2009-06-26 14:37:25 +10:00
hugetlbpage.c powerpc/mm: Cleanup management of kmem_caches for pagetables 2009-10-30 17:20:57 +11:00
init_32.c kcore: use registerd physmem information 2009-09-23 07:39:41 -07:00
init_64.c powerpc/mm: Cleanup management of kmem_caches for pagetables 2009-10-30 17:20:57 +11:00
Makefile powerpc: Remaining 64-bit Book3E support 2009-08-20 10:25:11 +10:00
mem.c walk system ram range 2009-09-23 07:39:41 -07:00
mmap_64.c powerpc/mm: Rename arch/powerpc/kernel/mmap.c to mmap_64.c 2009-03-24 13:47:33 +11:00
mmu_context_hash32.c powerpc/mm: Split mmu_context handling 2008-12-21 14:21:15 +11:00
mmu_context_hash64.c powerpc/mm: Split mmu_context handling 2008-12-21 14:21:15 +11:00
mmu_context_nohash.c powerpc/mm: Fix switch_mmu_context to iterate of the proper list of cpus 2009-08-20 10:25:12 +10:00
mmu_decl.h powerpc/mm: Add support for SPARSEMEM_VMEMMAP on 64-bit Book3E 2009-08-20 10:25:10 +10:00
numa.c powerpc: Set init_bootmem_done on NUMA platforms as well 2009-06-09 16:43:04 +10:00
pgtable_32.c powerpc/mm: Cleanup handling of execute permission 2009-08-27 13:12:51 +10:00
pgtable_64.c powerpc/mm: Add support for SPARSEMEM_VMEMMAP on 64-bit Book3E 2009-08-20 10:25:10 +10:00
pgtable.c powerpc/mm: Cleanup management of kmem_caches for pagetables 2009-10-30 17:20:57 +11:00
ppc_mmu_32.c powerpc/mm: Tweak PTE bit combination definitions 2009-03-24 13:47:33 +11:00
slb_low.S powerpc/mm: Fix hang accessing top of vmalloc space 2009-10-14 16:58:36 +11:00
slb.c powerpc/pseries: Fix to handle slb resize across migration 2009-09-02 16:19:01 +10:00
slice.c powerpc: is_hugepage_only_range() must account for both 4kB and 64kB slices 2009-01-16 16:15:16 +11:00
stab.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu 2009-09-15 09:39:44 -07:00
subpage-prot.c [POWERPC] Provide a way to protect 4k subpages when using 64k pages 2008-01-24 10:06:01 +11:00
tlb_hash32.c powerpc/mm: Rework & cleanup page table freeing code path 2009-08-20 10:24:56 +10:00
tlb_hash64.c powerpc/mm: Make hpte_need_flush() correctly mask for multiple page sizes 2009-10-30 17:20:57 +11:00
tlb_low_64e.S powerpc/mm: Remove duplicated #include 2009-09-24 15:31:42 +10:00
tlb_nohash_low.S powerpc/booke: Move MMUCSR definition into mmu-book3e.h 2009-08-24 20:48:05 -05:00
tlb_nohash.c powerpc/mm: Add support for SPARSEMEM_VMEMMAP on 64-bit Book3E 2009-08-20 10:25:10 +10:00