The patch titled sys_move_pages: 32bit support (i386, x86_64) has been added to the -mm tree. Its filename is page-migration-support-moving-of-individual-pages-x86-support.patch See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find out what to do about this ------------------------------------------------------ Subject: sys_move_pages: 32bit support (i386, x86_64) From: Christoph Lameter <clameter@xxxxxxx> sys_move_pages() support for 32bit (i386 plus x86_64 compat layer) Add support for move_pages() on i386 and also add the compat functions necessary to run 32 bit binaries on x86_64. Add compat_sys_move_pages to the x86_64 32bit binary layer. Note that it is not up to date so I added the missing pieces. Not sure if this is done the right way. This probably needs some fixups - what about sys_vmsplice on x86_64? Signed-off-by: Christoph Lameter <clameter@xxxxxxx> Cc: Andi Kleen <ak@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- arch/i386/kernel/syscall_table.S | 2 ++ arch/x86_64/ia32/ia32entry.S | 1 + include/asm-i386/unistd.h | 3 ++- include/linux/syscalls.h | 5 +++++ kernel/compat.c | 23 +++++++++++++++++++++++ 5 files changed, 33 insertions(+), 1 deletion(-) diff -puN arch/i386/kernel/syscall_table.S~page-migration-support-moving-of-individual-pages-x86-support arch/i386/kernel/syscall_table.S --- 25/arch/i386/kernel/syscall_table.S~page-migration-support-moving-of-individual-pages-x86-support Wed May 24 13:27:13 2006 +++ 25-akpm/arch/i386/kernel/syscall_table.S Wed May 24 13:27:13 2006 @@ -315,3 +315,5 @@ ENTRY(sys_call_table) .long sys_splice .long sys_sync_file_range .long sys_tee /* 315 */ + .long sys_ni_syscall /* vmsplice */ + .long sys_move_pages diff -puN arch/x86_64/ia32/ia32entry.S~page-migration-support-moving-of-individual-pages-x86-support arch/x86_64/ia32/ia32entry.S --- 25/arch/x86_64/ia32/ia32entry.S~page-migration-support-moving-of-individual-pages-x86-support Wed May 24 13:27:13 2006 +++ 25-akpm/arch/x86_64/ia32/ia32entry.S Wed May 24 13:27:13 2006 @@ -699,4 +699,5 @@ ia32_sys_call_table: .quad sys_sync_file_range .quad sys_tee .quad compat_sys_vmsplice + .quad compat_sys_move_pages ia32_syscall_end: diff -puN include/asm-i386/unistd.h~page-migration-support-moving-of-individual-pages-x86-support include/asm-i386/unistd.h --- 25/include/asm-i386/unistd.h~page-migration-support-moving-of-individual-pages-x86-support Wed May 24 13:27:13 2006 +++ 25-akpm/include/asm-i386/unistd.h Wed May 24 13:27:13 2006 @@ -322,10 +322,11 @@ #define __NR_sync_file_range 314 #define __NR_tee 315 #define __NR_vmsplice 316 +#define __NR_move_pages 317 #ifdef __KERNEL__ -#define NR_syscalls 317 +#define NR_syscalls 318 /* * user-visible error numbers are in the range -1 - -128: see diff -puN include/linux/syscalls.h~page-migration-support-moving-of-individual-pages-x86-support include/linux/syscalls.h --- 25/include/linux/syscalls.h~page-migration-support-moving-of-individual-pages-x86-support Wed May 24 13:27:13 2006 +++ 25-akpm/include/linux/syscalls.h Wed May 24 13:27:13 2006 @@ -521,6 +521,11 @@ asmlinkage long sys_move_pages(pid_t pid const int __user *nodes, int __user *status, int flags); +asmlinkage long compat_sys_move_pages(pid_t pid, unsigned long nr_page, + void __user *pages, + const int __user *nodes, + int __user *status, + int flags); asmlinkage long sys_mbind(unsigned long start, unsigned long len, unsigned long mode, unsigned long __user *nmask, diff -puN kernel/compat.c~page-migration-support-moving-of-individual-pages-x86-support kernel/compat.c --- 25/kernel/compat.c~page-migration-support-moving-of-individual-pages-x86-support Wed May 24 13:27:13 2006 +++ 25-akpm/kernel/compat.c Wed May 24 13:27:13 2006 @@ -21,6 +21,7 @@ #include <linux/unistd.h> #include <linux/security.h> #include <linux/timex.h> +#include <linux/migrate.h> #include <asm/uaccess.h> @@ -934,3 +935,25 @@ asmlinkage long compat_sys_adjtimex(stru return ret; } + +#ifdef CONFIG_NUMA +asmlinkage long compat_sys_move_pages(pid_t pid, unsigned long nr_pages, + void __user *pages32, + const int __user *nodes, + int __user *status, + int flags) +{ + const void __user * __user *pages; + int i; + + pages = compat_alloc_user_space(nr_pages * sizeof(void *)); + for (i = 0; i < nr_pages; i++) { + compat_uptr_t p; + + if (get_user(p, (compat_uptr_t *)(pages32 + i)) || + put_user(compat_ptr(p), pages + i)) + return -EFAULT; + } + return sys_move_pages(pid, nr_pages, pages, nodes, status, flags); +} +#endif _ Patches currently in -mm which might be from clameter@xxxxxxx are origin.patch page-migration-make-do_swap_page-redo-the-fault.patch slab-extract-cache_free_alien-from-__cache_free.patch migration-remove-unnecessary-pageswapcache-checks.patch page-migration-cleanup-rename-ignrefs-to-migration.patch page-migration-cleanup-group-functions.patch page-migration-cleanup-remove-useless-definitions.patch page-migration-cleanup-drop-nr_refs-in-remove_references.patch page-migration-cleanup-extract-try_to_unmap-from-migration-functions.patch page-migration-cleanup-extract-try_to_unmap-from-migration-functions-update-comments-7.patch page-migration-cleanup-pass-mapping-to-migration-functions.patch page-migration-cleanup-move-fallback-handling-into-special-function.patch page-migration-cleanup-move-fallback-handling-into-special-function-update-comments-9.patch swapless-pm-add-r-w-migration-entries.patch swapless-pm-add-r-w-migration-entries-ifdefs.patch swapless-pm-add-r-w-migration-entries-update-comments.patch swapless-pm-add-r-w-migration-entries-update-comments-4.patch swapless-pm-add-r-w-migration-entries-update-comments-6.patch swapless-page-migration-rip-out-swap-based-logic.patch swapless-page-migration-modify-core-logic.patch swapless-page-migration-modify-core-logic-remove-useless-mapping-checks.patch more-page-migration-do-not-inc-dec-rss-counters.patch more-page-migration-use-migration-entries-for-file-pages.patch more-page-migration-use-migration-entries-for-file-pages-fix.patch more-page-migration-use-migration-entries-for-file-pages-update-comments-5.patch more-page-migration-use-migration-entries-for-file-pages-update-comments-8.patch more-page-migration-use-migration-entries-for-file-pages-remove_migration_ptes.patch more-page-migration-use-migration-entries-for-file-pages-replace-call-to-pageout-with-writepage-2.patch page-migration-update-documentation.patch page-migration-simplify-migrate_pages.patch page-migration-simplify-migrate_pages-tweaks.patch page-migration-handle-freeing-of-pages-in-migrate_pages.patch page-migration-use-allocator-function-for-migrate_pages.patch page-migration-support-moving-of-individual-pages.patch page-migration-detailed-status-for-moving-of-individual-pages.patch page-migration-support-moving-of-individual-pages-fixes.patch page-migration-support-moving-of-individual-pages-x86_64-support.patch page-migration-support-moving-of-individual-pages-x86-support.patch page-migration-support-a-vma-migration-function.patch cpuset-remove-extra-cpuset_zone_allowed-check-in-__alloc_pages.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html