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
..
mach-bigsmp
mach-default
mach-es7000
mach-generic
mach-numaq
mach-summit
mach-visws
mach-voyager
xen
a.out.h
a.out_32.h
a.out_64.h
acpi.h
acpi_32.h
acpi_64.h
agp.h
agp_32.h
agp_64.h
alternative-asm.i
alternative-asm_32.i
alternative-asm_64.i
alternative.h
alternative_32.h
alternative_64.h
apic.h
apic_32.h
apic_64.h
x86_64: remove now unused code
2007-10-12 23:04:23 +02:00
apicdef.h
apicdef_32.h
apicdef_64.h
arch_hooks.h
atomic.h
atomic_32.h
atomic_64.h
auxvec.h
auxvec_32.h
auxvec_64.h
bitops.h
bitops_32.h
bitops_64.h
boot.h
bootparam.h
bootsetup.h
bug.h
bug_32.h
bug_64.h
bugs.h
bugs_32.h
bugs_64.h
byteorder.h
byteorder_32.h
byteorder_64.h
cache.h
cache_32.h
cache_64.h
cacheflush.h
cacheflush_32.h
cacheflush_64.h
calgary.h
calling.h
checksum.h
checksum_32.h
checksum_64.h
cmpxchg.h
cmpxchg_32.h
cmpxchg_64.h
compat.h
cpu.h
cpufeature.h
cpufeature_32.h
cpufeature_64.h
minimal build fixes for uml (fallout from x86 merge)
2007-10-13 09:57:15 -07:00
cputime.h
cputime_32.h
cputime_64.h
current.h
current_32.h
current_64.h
debugreg.h
debugreg_32.h
debugreg_64.h
delay.h
delay_32.h
delay_64.h
desc.h
desc_32.h
desc_64.h
desc_defs.h
device.h
device_32.h
device_64.h
div64.h
div64_32.h
div64_64.h
dma-mapping.h
dma-mapping_32.h
dma-mapping_64.h
dma.h
dma_32.h
dma_64.h
dmi.h
dmi_32.h
dmi_64.h
dwarf2.h
dwarf2_32.h
dwarf2_64.h
e820.h
e820_32.h
e820_64.h
edac.h
edac_32.h
edac_64.h
elf.h
elf_32.h
elf_64.h
emergency-restart.h
errno.h
errno_32.h
errno_64.h
fb.h
fb_32.h
fb_64.h
fcntl.h
fixmap.h
fixmap_32.h
fixmap_64.h
floppy.h
floppy_32.h
floppy_64.h
fpu32.h
frame.i
futex.h
futex_32.h
futex_64.h
genapic.h
genapic_32.h
genapic_64.h
geode.h
x86: Geode Multi-Function General Purpose Timers support
2007-10-12 23:04:06 +02:00
hardirq.h
hardirq_32.h
hardirq_64.h
highmem.h
hpet.h
x86: HPET force enable for ICH5
2007-10-12 23:04:24 +02:00
hw_irq.h
hw_irq_32.h
hw_irq_64.h
hypertransport.h
i387.h
i387_32.h
i387_64.h
i8253.h
i386: Remove the useless #ifdef in i8253.h
2007-10-12 23:04:23 +02:00
i8259.h
ia32.h
ia32_unistd.h
ide.h
idle.h
intel_arch_perfmon.h
intel_arch_perfmon_32.h
intel_arch_perfmon_64.h
io.h
io_32.h
io_64.h
io_apic.h
io_apic_32.h
i386: Expose IOAPIC register definitions even if CONFIG_X86_IO_APIC is not set
2007-10-13 10:18:17 +02:00
io_apic_64.h
ioctl.h
ioctls.h
ioctls_32.h
ioctls_64.h
iommu.h
ipc.h
ipcbuf.h
ipcbuf_32.h
ipcbuf_64.h
ipi.h
irq.h
irq_32.h
irq_64.h
irq_regs.h
irq_regs_32.h
irq_regs_64.h
irqflags.h
irqflags_32.h
lockdep: i386: connect the sysexit hook
2007-10-11 22:11:12 +02:00
irqflags_64.h
lockdep: x86_64: connect the sysexit hook
2007-10-11 22:11:12 +02:00
ist.h
k8.h
Kbuild
kdebug.h
kdebug_32.h
x86: optimize page faults like all other achitectures and kill notifier cruft
2007-10-16 09:42:50 -07:00
kdebug_64.h
x86: optimize page faults like all other achitectures and kill notifier cruft
2007-10-16 09:42:50 -07:00
kexec.h
kexec_32.h
kexec_64.h
kmap_types.h
kmap_types_32.h
kmap_types_64.h
kprobes.h
kprobes_32.h
x86: optimize page faults like all other achitectures and kill notifier cruft
2007-10-16 09:42:50 -07:00
kprobes_64.h
x86: optimize page faults like all other achitectures and kill notifier cruft
2007-10-16 09:42:50 -07:00
ldt.h
ldt_32.h
ldt_64.h
linkage.h
linkage_32.h
linkage_64.h
local.h
local_32.h
local_64.h
mach_apic.h
math_emu.h
mc146818rtc.h
mc146818rtc_32.h
mc146818rtc_64.h
mca.h
mca_dma.h
mce.h
mce_32.h
mce_64.h
mman.h
mman_32.h
mman_64.h
mmsegment.h
mmu.h
mmu_32.h
mmu_64.h
mmu_context.h
mmu_context_32.h
mmu_context_64.h
mmx.h
mmzone.h
mmzone_32.h
mmzone_64.h
module.h
module_32.h
module_64.h
mpspec.h
mpspec_32.h
mpspec_64.h
mpspec_def.h
msgbuf.h
msgbuf_32.h
msgbuf_64.h
msidef.h
msr-index.h
msr.h
msr_32.h
msr_64.h
mtrr.h
mtrr_32.h
mtrr_64.h
mutex.h
mutex_32.h
mutex_64.h
namei.h
namei_32.h
namei_64.h
nmi.h
nmi_32.h
nmi_64.h
numa.h
numa_32.h
numa_64.h
numaq.h
page.h
page_32.h
page_64.h
x86_64: SPARSEMEM_VMEMMAP 2M page size support
2007-10-16 09:42:51 -07:00
param.h
param_32.h
param_64.h
paravirt.h
parport.h
parport_32.h
parport_64.h
pci-direct.h
pci.h
PCI: merge almost all of pci_32.h and pci_64.h together
2007-10-12 15:03:20 -07:00
pci_32.h
PCI: merge almost all of pci_32.h and pci_64.h together
2007-10-12 15:03:20 -07:00
pci_64.h
PCI: merge almost all of pci_32.h and pci_64.h together
2007-10-12 15:03:20 -07:00
pda.h
x86: Fix irq0 / local apic timer accounting
2007-10-12 23:04:07 +02:00
percpu.h
percpu_32.h
percpu_64.h
pgalloc.h
pgalloc_32.h
pgalloc_64.h
pgtable-2level-defs.h
pgtable-2level.h
pgtable-3level-defs.h
pgtable-3level.h
pgtable.h
pgtable_32.h
pgtable_64.h
x86_64: SPARSEMEM_VMEMMAP 2M page size support
2007-10-16 09:42:51 -07:00
poll.h
posix_types.h
posix_types_32.h
posix_types_64.h
prctl.h
processor-cyrix.h
processor-flags.h
KVM: Use standard CR8 flags, and fix TPR definition
2007-10-13 10:18:19 +02:00
processor.h
processor_32.h
processor_64.h
proto.h
x86_64: remove now unused code
2007-10-12 23:04:23 +02:00
ptrace-abi.h
ptrace-abi_32.h
ptrace-abi_64.h
ptrace.h
ptrace_32.h
ptrace_64.h
reboot.h
reboot_fixups.h
required-features.h
required-features_32.h
required-features_64.h
resource.h
resource_32.h
resource_64.h
resume-trace.h
resume-trace_32.h
resume-trace_64.h
rio.h
rtc.h
rtc_32.h
rtc_64.h
rwlock.h
rwlock_32.h
rwlock_64.h
rwsem.h
scatterlist.h
scatterlist_32.h
scatterlist_64.h
seccomp.h
seccomp_32.h
seccomp_64.h
sections.h
sections_32.h
sections_64.h
segment.h
segment_32.h
segment_64.h
semaphore.h
semaphore_32.h
semaphore_64.h
sembuf.h
sembuf_32.h
sembuf_64.h
serial.h
serial_32.h
serial_64.h
setup.h
setup_32.h
setup_64.h
shmbuf.h
shmbuf_32.h
shmbuf_64.h
shmparam.h
shmparam_32.h
shmparam_64.h
sigcontext.h
sigcontext32.h
sigcontext_32.h
sigcontext_64.h
siginfo.h
siginfo_32.h
siginfo_64.h
signal.h
signal_32.h
signal_64.h
smp.h
smp_32.h
Convert cpu_sibling_map to be a per cpu variable
2007-10-16 09:42:50 -07:00
smp_64.h
Convert cpu_sibling_map to be a per cpu variable
2007-10-16 09:42:50 -07:00
socket.h
sockios.h
sockios_32.h
sockios_64.h
sparsemem.h
sparsemem_32.h
sparsemem_64.h
spinlock.h
spinlock_32.h
spinlock_64.h
spinlock_types.h
srat.h
stacktrace.h
stat.h
stat_32.h
stat_64.h
statfs.h
statfs_32.h
statfs_64.h
string.h
string_32.h
string_64.h
suspend.h
suspend_32.h
suspend_64.h
swiotlb.h
sync_bitops.h
system.h
system_32.h
x86: optimise barriers
2007-10-12 18:41:21 -07:00
system_64.h
x86: optimise barriers
2007-10-12 18:41:21 -07:00
tce.h
termbits.h
termbits_32.h
termbits_64.h
termios.h
termios_32.h
termios_64.h
therm_throt.h
thread_info.h
thread_info_32.h
thread_info_64.h
time.h
timer.h
timex.h
x86: unify timex.h variants
2007-10-12 23:04:23 +02:00
tlb.h
tlb_32.h
tlb_64.h
tlbflush.h
tlbflush_32.h
tlbflush_64.h
topology.h
topology_32.h
Convert cpu_sibling_map to be a per cpu variable
2007-10-16 09:42:50 -07:00
topology_64.h
Convert cpu_sibling_map to be a per cpu variable
2007-10-16 09:42:50 -07:00
tsc.h
x86: unify timex.h variants
2007-10-12 23:04:23 +02:00
types.h
types_32.h
types_64.h
uaccess.h
uaccess_32.h
uaccess_64.h
ucontext.h
ucontext_32.h
ucontext_64.h
unaligned.h
unaligned_32.h
unaligned_64.h
unistd.h
unistd_32.h
unistd_64.h
unwind.h
unwind_32.h
unwind_64.h
user.h
user32.h
user_32.h
user_64.h
vga.h
vgtod.h
vic.h
vm86.h
vmi.h
vmi_time.h
voyager.h
vsyscall.h
i386/x8664: cleanup the shared hpet code
2007-10-12 23:04:23 +02:00
vsyscall32.h
xor.h
xor_32.h
xor_64.h