kernel-hacking-2024-linux-s.../arch/ia64/kernel
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
..
cpufreq [IA64] Add ACPI based P-state support 2005-08-26 15:09:24 -07:00
acpi-ext.c [ACPI] Lindent all ACPI files 2005-08-05 00:45:14 -04:00
acpi.c [IA64] move ACPI IOSAPIC locality domain mapping from pci.c to acpi.c 2005-09-19 15:57:48 -07:00
asm-offsets.c [IA64] fix circular dependency on generation of asm-offsets.h 2005-09-13 08:50:39 -07:00
brl_emu.c
cyclone.c [PATCH] fix missing includes 2005-10-30 17:37:32 -08:00
efi.c [IA64] Replace kcalloc(1, with kzalloc. 2005-11-10 11:28:20 -08:00
efi_stub.S
entry.h
entry.S [PATCH] Swap Migration V5: sys_migrate_pages interface 2006-01-08 20:12:42 -08:00
fsys.S kbuild: ia64 use generic asm-offsets.h support 2005-09-09 22:03:13 +02:00
gate-data.S
gate.lds.S
gate.S kbuild: ia64 use generic asm-offsets.h support 2005-09-09 22:03:13 +02:00
head.S kbuild: ia64 use generic asm-offsets.h support 2005-09-09 22:03:13 +02:00
ia64_ksyms.c [IA64] - Make pfn_valid more precise for SGI Altix systems 2005-11-29 09:24:10 -08:00
init_task.c
iosapic.c [IA64] Manual merge fix for 3 files 2005-09-08 14:27:13 -07:00
irq.c [IA64] wider use of for_each_cpu_mask() in arch/ia64 2005-10-25 15:10:08 -07:00
irq_ia64.c [IA64] assign_irq_vector() should not panic 2005-07-11 10:30:07 -07:00
irq_lsapic.c
ivt.S [IA64] polish comments for tlb fault handler in ivt.S 2005-11-17 09:48:15 -08:00
jprobes.S [PATCH] Kprobes: prevent possible race conditions ia64 changes 2005-09-07 16:58:00 -07:00
kprobes.c [PATCH] kprobes: increment kprobe missed count for multiprobes 2005-12-12 08:57:45 -08:00
machvec.c
Makefile [PATCH] cpusets: Move the ia64 domain setup code to the generic code 2005-09-07 16:57:40 -07:00
mca.c [IA64] Extend notify_die() hooks for IA64 2005-11-07 11:27:13 -08:00
mca_asm.S [IA64] Wire in the MCA/INIT handler stacks 2005-09-22 13:24:19 -07:00
mca_drv.c Pull mca-check-psp into release branch 2005-11-10 10:38:05 -08:00
mca_drv.h [IA64] mca_drv cleanup 2005-09-16 10:39:40 -07:00
mca_drv_asm.S [IA64] mca_drv cleanup 2005-09-16 10:39:40 -07:00
minstate.h [IA64] MCA/INIT: remove the physical mode path from minstate.h 2005-09-11 14:09:12 -07:00
module.c [IA64] wider use of for_each_cpu_mask() in arch/ia64 2005-10-25 15:10:08 -07:00
numa.c [IA64] fix generic/up builds 2005-07-06 18:18:10 -07:00
pal.S
palinfo.c [IA64] Allow /proc/pal/cpu0/vm_info under the simulator 2005-08-31 08:34:51 -07:00
patch.c [IA64] Fix 2.6 kernel for the new ia64 assembler 2005-10-25 15:05:45 -07:00
perfmon.c [PATCH] kfree cleanup: arch 2005-11-07 07:54:06 -08:00
perfmon_default_smpl.c
perfmon_generic.h
perfmon_itanium.h
perfmon_mckinley.h
process.c [IA64] fix for SET_PERSONALITY when CONFIG_IA32_SUPPORT is not set. 2005-12-14 08:52:57 -08:00
ptrace.c [IA64] fix warning unused variable `g' 2005-10-28 15:52:13 -07:00
sal.c
salinfo.c [IA64] Allow salinfo_decode to detect signals on read 2005-12-05 11:49:17 -08:00
semaphore.c
setup.c [IA64] Fix compile warnings in setup.c 2006-01-05 13:30:52 -08:00
sigframe.h
signal.c [IA64] align signal-frame even when not using alternate signal-stack 2005-11-08 09:58:06 -08:00
smp.c [IA64] wider use of for_each_cpu_mask() in arch/ia64 2005-10-25 15:10:08 -07:00
smpboot.c [PATCH] sched: disable preempt in idle tasks 2005-11-09 07:56:33 -08:00
sys_ia64.c [IA64] Rationalise Region Definitions 2005-08-24 15:35:41 -07:00
time.c [IA64] disable preemption in udelay() 2005-12-16 10:00:24 -08:00
topology.c [ACPI] delete CONFIG_ACPI_BOOT 2005-08-24 12:08:54 -04:00
traps.c [IA64] Remove getting break_num by decoding instruction 2005-11-29 09:24:39 -08:00
unaligned.c
uncached.c [IA64] uncached ref count leak 2005-12-16 10:29:52 -08:00
unwind.c [IA64] MCA/INIT: remove obsolete unwind code 2005-09-11 14:09:34 -07:00
unwind_decoder.c
unwind_i.h
vmlinux.lds.S [IA64] Add __read_mostly support for IA64 2005-12-16 10:52:46 -08:00