linux/arch/powerpc/mm
David Gibson f10a04c034 [PATCH] powerpc: Fix pagetable bloat for hugepages
At present, ARCH=powerpc kernels can waste considerable space in
pagetables when making large hugepage mappings.  Hugepage PTEs go in
PMD pages, but each PMD page maps 256M and so contains only 16
hugepage PTEs (128 bytes of data), but takes up a 1024 byte
allocation.  With CONFIG_PPC_64K_PAGES enabled (64k base page size),
the situation is worse.  Now hugepage PTEs are at the PTE page level
(also mapping 256M), so we store 16 hugepage PTEs in a 64k allocation.

The PowerPC MMU already means that any 256M region is either all
hugepage, or all normal pages.  Thus, with some care, we can use a
different allocation for the hugepage PTE tables and only allocate the
128 bytes necessary.

Signed-off-by: Paul Mackerras <paulus@samba.org>
2006-04-28 15:02:51 +10:00
..
4xx_mmu.c [PATCH] mm: powerpc init_mm without ptlock 2005-11-23 16:08:38 -08:00
44x_mmu.c powerpc: Merge enough to start building in arch/powerpc. 2005-09-26 16:04:21 +10:00
fault.c [PATCH] powerpc: trivial spelling fixes in fault.c 2006-04-01 22:37:13 +11:00
fsl_booke_mmu.c [PATCH] Update email address for Kumar 2005-11-13 18:14:10 -08:00
hash_low_32.S [PATCH] powerpc: trivial: modify comments to refer to new location of files 2006-02-10 16:53:51 +11:00
hash_low_64.S [PATCH] ppc64: support 64k pages 2005-11-06 16:56:47 -08:00
hash_native_64.c [PATCH] powerpc64: fix spinlock recursion in native_hpte_clear 2006-02-24 11:36:29 +11:00
hash_utils_64.c [PATCH] powerpc: Kill _machine and hard-coded platform numbers 2006-03-28 23:15:54 +11:00
hugetlbpage.c [PATCH] powerpc: Fix pagetable bloat for hugepages 2006-04-28 15:02:51 +10:00
imalloc.c [PATCH] sem2mutex: misc static one-file mutexes 2006-03-26 08:56:55 -08:00
init_32.c [PATCH] remove set_page_count() outside mm/ 2006-03-22 07:54:02 -08:00
init_64.c [PATCH] powerpc: Fix pagetable bloat for hugepages 2006-04-28 15:02:51 +10:00
lmb.c [PATCH] powerpc: Fix bug in bug fix for bug in lmb_alloc() 2006-03-17 13:28:24 +11:00
Makefile [PATCH] powerpc: Some more fixes to allow building for a Book-E processor 2005-10-20 09:43:32 +10:00
mem.c Merge ../linux-2.6 2006-03-29 13:24:50 +11:00
mmap.c [PATCH] powerpc: trivial: modify comments to refer to new location of files 2006-02-10 16:53:51 +11:00
mmu_context_32.c powerpc: Rename files to have consistent _32/_64 suffixes 2005-10-10 21:52:43 +10:00
mmu_context_64.c powerpc: Rename files to have consistent _32/_64 suffixes 2005-10-10 21:52:43 +10:00
mmu_decl.h [PATCH] powerpc: Remove imalloc.h 2005-11-19 14:46:02 +11:00
numa.c [PATCH] powerpc: hot_add_scn_to_nid() build fix 2006-03-27 14:48:34 +11:00
pgtable_32.c [PATCH] lock PTE before updating it in 440/BookE page fault handler 2006-03-29 13:44:15 +11:00
pgtable_64.c [PATCH] powerpc: IOMMU: don't ioremap null addresses 2006-01-10 15:30:31 +11:00
ppc_mmu_32.c [PATCH] ppc: Fix ppc32 build after 64K pages 2005-11-07 07:53:23 -08:00
slb.c [PATCH] powerpc: Replace VMALLOCBASE with VMALLOC_START 2006-01-09 15:05:47 +11:00
slb_low.S [PATCH] powerpc: trivial: modify comments to refer to new location of files 2006-02-10 16:53:51 +11:00
stab.c [PATCH] for_each_possible_cpu: powerpc 2006-03-29 13:44:15 +11:00
tlb_32.c [PATCH] mm: powerpc ptlock comments 2005-11-23 16:08:38 -08:00
tlb_64.c [PATCH] powerpc: trivial: modify comments to refer to new location of files 2006-02-10 16:53:51 +11:00