linux/arch/x86/mm
Christoph Lameter 0889eba5b3 x86_64: SPARSEMEM_VMEMMAP 2M page size support
x86_64 uses 2M page table entries to map its 1-1 kernel space.  We also
implement the virtual memmap using 2M page table entries.  So there is no
additional runtime overhead over FLATMEM, initialisation is slightly more
complex.  As FLATMEM still references memory to obtain the mem_map pointer and
SPARSEMEM_VMEMMAP uses a compile time constant, SPARSEMEM_VMEMMAP should be
superior.

With this SPARSEMEM becomes the most efficient way of handling virt_to_page,
pfn_to_page and friends for UP, SMP and NUMA on x86_64.

[apw@shadowen.org: code resplit, style fixups]
[apw@shadowen.org: vmemmap x86_64: ensure end of section memmap is initialised]
Signed-off-by: Christoph Lameter <clameter@sgi.com>
Signed-off-by: Andy Whitcroft <apw@shadowen.org>
Acked-by: Mel Gorman <mel@csn.ul.ie>
Cc: Andi Kleen <ak@suse.de>
Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-10-16 09:42:51 -07:00
..
boot_ioremap_32.c i386: move mm 2007-10-11 11:16:47 +02:00
discontig_32.c i386: move mm 2007-10-11 11:16:47 +02:00
extable_32.c i386: move mm 2007-10-11 11:16:47 +02:00
extable_64.c x86_64: move mm 2007-10-11 11:17:18 +02:00
fault_32.c x86: optimize page faults like all other achitectures and kill notifier cruft 2007-10-16 09:42:50 -07:00
fault_64.c x86: optimize page faults like all other achitectures and kill notifier cruft 2007-10-16 09:42:50 -07:00
highmem_32.c i386: move mm 2007-10-11 11:16:47 +02:00
hugetlbpage.c i386: move mm 2007-10-11 11:16:47 +02:00
init_32.c i386: move mm 2007-10-11 11:16:47 +02:00
init_64.c x86_64: SPARSEMEM_VMEMMAP 2M page size support 2007-10-16 09:42:51 -07:00
ioremap_32.c i386: move mm 2007-10-11 11:16:47 +02:00
ioremap_64.c x86_64: move mm 2007-10-11 11:17:18 +02:00
k8topology_64.c x86_64: move mm 2007-10-11 11:17:18 +02:00
Makefile x86_64: move mm 2007-10-11 11:17:18 +02:00
Makefile_32 i386: move mm 2007-10-11 11:16:47 +02:00
Makefile_64 x86_64: move mm 2007-10-11 11:17:18 +02:00
mmap_32.c i386: move mm 2007-10-11 11:16:47 +02:00
mmap_64.c x86_64: move mm 2007-10-11 11:17:18 +02:00
numa_64.c x86_64: move mm 2007-10-11 11:17:18 +02:00
pageattr_32.c i386: move mm 2007-10-11 11:16:47 +02:00
pageattr_64.c x86_64: move mm 2007-10-11 11:17:18 +02:00
pgtable_32.c i386: move mm 2007-10-11 11:16:47 +02:00
srat_64.c x86_64: move mm 2007-10-11 11:17:18 +02:00