linux/arch/powerpc/mm
Chen, Kenneth W 39dde65c99 [PATCH] shared page table for hugetlb page
Following up with the work on shared page table done by Dave McCracken.  This
set of patch target shared page table for hugetlb memory only.

The shared page table is particular useful in the situation of large number of
independent processes sharing large shared memory segments.  In the normal
page case, the amount of memory saved from process' page table is quite
significant.  For hugetlb, the saving on page table memory is not the primary
objective (as hugetlb itself already cuts down page table overhead
significantly), instead, the purpose of using shared page table on hugetlb is
to allow faster TLB refill and smaller cache pollution upon TLB miss.

With PT sharing, pte entries are shared among hundreds of processes, the cache
consumption used by all the page table is smaller and in return, application
gets much higher cache hit ratio.  One other effect is that cache hit ratio
with hardware page walker hitting on pte in cache will be higher and this
helps to reduce tlb miss latency.  These two effects contribute to higher
application performance.

Signed-off-by: Ken Chen <kenneth.w.chen@intel.com>
Acked-by: Hugh Dickins <hugh@veritas.com>
Cc: Dave McCracken <dmccr@us.ibm.com>
Cc: William Lee Irwin III <wli@holomorphy.com>
Cc: "Luck, Tony" <tony.luck@intel.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: David Gibson <david@gibson.dropbear.id.au>
Cc: Adam Litke <agl@us.ibm.com>
Cc: Paul Mundt <lethal@linux-sh.org>
Cc: "David S. Miller" <davem@davemloft.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-12-07 08:39:21 -08:00
..
4xx_mmu.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
44x_mmu.c [POWERPC] Fix powerpc 44x_mmu build 2006-08-25 13:41:41 +10:00
fault.c [PATCH] Do a single one-line printk in bad_page_fault() 2006-11-13 14:48:56 +11:00
fsl_booke_mmu.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
hash_low_32.S Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
hash_low_64.S Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
hash_native_64.c [POWERPC] Make pSeries_lpar_hpte_insert static 2006-10-16 16:33:04 +10:00
hash_utils_64.c [POWERPC] Fix cputable.h for combined build 2006-12-04 20:41:59 +11:00
hugetlbpage.c [PATCH] shared page table for hugetlb page 2006-12-07 08:39:21 -08:00
imalloc.c [PATCH] sem2mutex: misc static one-file mutexes 2006-03-26 08:56:55 -08:00
init_32.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
init_64.c [POWERPC] setup_kcore(): Fix incorrect function name in panic() call. 2006-12-04 20:39:39 +11:00
lmb.c [POWERPC] Fix mem= handling when the memory limit is > RMO size 2006-07-26 01:28:24 +10:00
Makefile [POWERPC] ps3: multiplatform build fixes 2006-12-04 20:41:16 +11:00
mem.c [PATCH] mm: use symbolic names instead of indices for zone initialisation 2006-10-11 11:14:14 -07: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 Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
mmu_context_64.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
mmu_decl.h
numa.c [PATCH] mm: use symbolic names instead of indices for zone initialisation 2006-10-11 11:14:14 -07:00
pgtable_32.c [POWERPC] Merge 32 and 64 bits asm-powerpc/io.h 2006-12-04 20:39:05 +11:00
pgtable_64.c [POWERPC] Merge 32 and 64 bits asm-powerpc/io.h 2006-12-04 20:39:05 +11:00
ppc_mmu_32.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
slb.c [POWERPC] iSeries: fix slb.c for combined build 2006-12-04 20:39:19 +11:00
slb_low.S [POWERPC] implement BEGIN/END_FW_FTR_SECTION 2006-10-03 16:50:21 +10:00
stab.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
tlb_32.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
tlb_64.c [POWERPC] Fix a compiler warning in mm/tlb_64.c 2006-07-13 18:43:25 +10:00