original_kernel/include/asm-x86_64
Christoph Lameter 39743889aa [PATCH] Swap Migration V5: sys_migrate_pages interface
sys_migrate_pages implementation using swap based page migration

This is the original API proposed by Ray Bryant in his posts during the first
half of 2005 on linux-mm@kvack.org and linux-kernel@vger.kernel.org.

The intent of sys_migrate is to migrate memory of a process.  A process may
have migrated to another node.  Memory was allocated optimally for the prior
context.  sys_migrate_pages allows to shift the memory to the new node.

sys_migrate_pages is also useful if the processes available memory nodes have
changed through cpuset operations to manually move the processes memory.  Paul
Jackson is working on an automated mechanism that will allow an automatic
migration if the cpuset of a process is changed.  However, a user may decide
to manually control the migration.

This implementation is put into the policy layer since it uses concepts and
functions that are also needed for mbind and friends.  The patch also provides
a do_migrate_pages function that may be useful for cpusets to automatically
move memory.  sys_migrate_pages does not modify policies in contrast to Ray's
implementation.

The current code here is based on the swap based page migration capability and
thus is not able to preserve the physical layout relative to it containing
nodeset (which may be a cpuset).  When direct page migration becomes available
then the implementation needs to be changed to do a isomorphic move of pages
between different nodesets.  The current implementation simply evicts all
pages in source nodeset that are not in the target nodeset.

Patch supports ia64, i386 and x86_64.

Signed-off-by: Christoph Lameter <clameter@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-08 20:12:42 -08:00
..
8253pit.h
a.out.h
acpi.h
agp.h
apic.h [PATCH] x86_64: Support for AMD specific MCE Threshold. 2005-11-14 19:55:13 -08:00
apicdef.h
atomic.h [PATCH] atomic_long_t & include/asm-generic/atomic.h V2 2006-01-06 08:33:29 -08:00
auxvec.h
bitops.h [FLS64]: x86_64 version 2006-01-03 13:11:07 -08:00
boot.h
bootsetup.h
bug.h
bugs.h
byteorder.h
cache.h [PATCH] x86_64: Set ____cacheline_maxaligned_in_smp alignment to 128 bytes 2005-11-14 19:55:17 -08:00
cacheflush.h [PATCH] x86/x86_64: mark rodata section read-only: x86-64 support 2006-01-06 08:33:36 -08:00
calling.h
checksum.h
compat.h
cpu.h
cpufeature.h
cputime.h
current.h
debugreg.h
delay.h
desc.h Merge x86-64 update from Andi 2005-11-14 19:56:02 -08:00
div64.h
dma-mapping.h manual update from upstream: 2005-10-31 10:51:57 -08:00
dma.h [PATCH] x86_64: Add 4GB DMA32 zone 2005-11-14 19:55:13 -08:00
dwarf2.h
e820.h
elf.h [PATCH] fix remaining missing includes 2005-11-07 07:53:41 -08:00
emergency-restart.h
errno.h
fcntl.h
fixmap.h
floppy.h
fpu32.h
futex.h
genapic.h
hardirq.h
hpet.h [PATCH] x86_64: Adjust, correct, and complete the HPET definitions for x86-64. 2005-11-14 19:55:13 -08:00
hw_irq.h [PATCH] x86_64: Support for AMD specific MCE Threshold. 2005-11-14 19:55:13 -08:00
i387.h
ia32.h [PATCH] x86_64: Allow modular build of ia32 aout loader 2005-11-14 19:55:16 -08:00
ia32_unistd.h [PATCH] Swap Migration V5: sys_migrate_pages interface 2006-01-08 20:12:42 -08:00
ide.h
io.h
io_apic.h
ioctl.h
ioctls.h
ipcbuf.h
ipi.h
irq.h
kdebug.h
kexec.h
kmap_types.h
kprobes.h [PATCH] Kprobes: Track kprobe on a per_cpu basis - x86_64 changes 2005-11-07 07:53:46 -08:00
ldt.h
linkage.h
local.h
mach_apic.h
mc146818rtc.h
mce.h [PATCH] x86_64: Support for AMD specific MCE Threshold. 2005-11-14 19:55:13 -08:00
mman.h [PATCH] madvise(MADV_REMOVE): remove pages from tmpfs shm backing store 2006-01-06 08:33:22 -08:00
mmsegment.h
mmu.h
mmu_context.h
mmx.h
mmzone.h [PATCH] x86_64: Fix NUMA node lookup debug code which had bitrotted 2005-11-14 19:55:16 -08:00
module.h
mpspec.h [PATCH] mpspec: remove unneeded packed attribute 2006-01-06 08:33:39 -08:00
msgbuf.h
msi.h [PATCH] PCI: Change MSI to use physical delivery mode always 2005-11-10 16:09:18 -08:00
msr.h [PATCH] Fix x86_64/msr.h interface to agree with i386/msr.h 2005-11-20 11:52:59 -08:00
mtrr.h [PATCH] Clean up mtrr compat ioctl code 2005-10-30 17:37:13 -08:00
namei.h
nmi.h
node.h
numa.h [PATCH] x86_64: Speed up numa_node_id by putting it directly into the PDA 2005-11-14 19:55:14 -08:00
numnodes.h
page.h [PATCH] x86_64: Don't apply __PHYSICAL_MASK to page frame numbers 2005-11-14 19:55:14 -08:00
param.h [PATCH] Avoid namespace pollution in <asm/param.h> 2006-01-02 08:38:38 -08:00
parport.h
pci-direct.h
pci.h
pda.h [PATCH] x86_64: Speed up numa_node_id by putting it directly into the PDA 2005-11-14 19:55:14 -08:00
percpu.h
pgalloc.h
pgtable.h [PATCH] x86/x86_64: mark rodata section read only: generic x86-64 bugfix 2006-01-06 08:33:36 -08:00
poll.h
posix_types.h
prctl.h
processor.h [PATCH] x86-64/i386: Intel HT, Multi core detection fixes 2005-11-14 19:55:16 -08:00
proto.h [PATCH] x86_64: Unmap NULL during early bootup 2005-11-14 19:55:14 -08:00
ptrace.h
resource.h
rtc.h
rwlock.h [PATCH] Fix typo in x86_64 __build_write_lock_const assembly 2005-12-24 12:30:22 -08:00
scatterlist.h
seccomp.h
sections.h
segment.h
semaphore.h [PATCH] semaphore: Remove __MUTEX_INITIALIZER() 2005-10-30 17:37:27 -08:00
sembuf.h
serial.h
setup.h
shmbuf.h
shmparam.h
sigcontext.h
sigcontext32.h
siginfo.h
signal.h
smp.h Merge x86-64 update from Andi 2005-11-14 19:56:02 -08:00
socket.h
sockios.h
sparsemem.h
spinlock.h [PATCH] x86_64: Use int operations in spinlocks to support more than 128 CPUs spinning. 2005-11-14 19:55:15 -08:00
spinlock_types.h
stat.h
statfs.h
string.h
suspend.h
swiotlb.h manual update from upstream: 2005-10-31 10:51:57 -08:00
system.h [PATCH] cpu hotplug/x86_64: disable interrupt in play_dead 2006-01-06 08:33:39 -08:00
termbits.h
termios.h
thread_info.h
timex.h
tlb.h
tlbflush.h
topology.h [PATCH] x86_64/ia64 : Fix compilation error for node_to_first_cpu 2005-12-24 12:30:22 -08:00
types.h
uaccess.h
ucontext.h
unaligned.h
unistd.h [PATCH] Swap Migration V5: sys_migrate_pages interface 2006-01-08 20:12:42 -08:00
user.h
user32.h
vga.h
vsyscall.h
vsyscall32.h
xor.h