Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

mm/mempolicy: wire up syscall set_mempolicy_home_node

Link: https://lkml.kernel.org/r/20211202123810.267175-4-aneesh.kumar@linux.ibm.com
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
Cc: Ben Widawsky <ben.widawsky@intel.com>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: Feng Tang <feng.tang@intel.com>
Cc: Michal Hocko <mhocko@kernel.org>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Mel Gorman <mgorman@techsingularity.net>
Cc: Mike Kravetz <mike.kravetz@oracle.com>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: Huang Ying <ying.huang@intel.com>
Cc: <linux-api@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

authored by

Aneesh Kumar K.V and committed by
Linus Torvalds
21b084fd c6018b4b

+27 -2
+1
arch/alpha/kernel/syscalls/syscall.tbl
··· 489 489 # 557 reserved for memfd_secret 490 490 558 common process_mrelease sys_process_mrelease 491 491 559 common futex_waitv sys_futex_waitv 492 + 560 common set_mempolicy_home_node sys_ni_syscall
+1
arch/arm/tools/syscall.tbl
··· 463 463 # 447 reserved for memfd_secret 464 464 448 common process_mrelease sys_process_mrelease 465 465 449 common futex_waitv sys_futex_waitv 466 + 450 common set_mempolicy_home_node sys_set_mempolicy_home_node
+1 -1
arch/arm64/include/asm/unistd.h
··· 38 38 #define __ARM_NR_compat_set_tls (__ARM_NR_COMPAT_BASE + 5) 39 39 #define __ARM_NR_COMPAT_END (__ARM_NR_COMPAT_BASE + 0x800) 40 40 41 - #define __NR_compat_syscalls 450 41 + #define __NR_compat_syscalls 451 42 42 #endif 43 43 44 44 #define __ARCH_WANT_SYS_CLONE
+2
arch/arm64/include/asm/unistd32.h
··· 905 905 __SYSCALL(__NR_process_mrelease, sys_process_mrelease) 906 906 #define __NR_futex_waitv 449 907 907 __SYSCALL(__NR_futex_waitv, sys_futex_waitv) 908 + #define __NR_set_mempolicy_home_node 450 909 + __SYSCALL(__NR_set_mempolicy_home_node, sys_set_mempolicy_home_node) 908 910 909 911 /* 910 912 * Please add new compat syscalls above this comment and update
+1
arch/ia64/kernel/syscalls/syscall.tbl
··· 370 370 # 447 reserved for memfd_secret 371 371 448 common process_mrelease sys_process_mrelease 372 372 449 common futex_waitv sys_futex_waitv 373 + 450 common set_mempolicy_home_node sys_set_mempolicy_home_node
+1
arch/m68k/kernel/syscalls/syscall.tbl
··· 449 449 # 447 reserved for memfd_secret 450 450 448 common process_mrelease sys_process_mrelease 451 451 449 common futex_waitv sys_futex_waitv 452 + 450 common set_mempolicy_home_node sys_set_mempolicy_home_node
+1
arch/microblaze/kernel/syscalls/syscall.tbl
··· 455 455 # 447 reserved for memfd_secret 456 456 448 common process_mrelease sys_process_mrelease 457 457 449 common futex_waitv sys_futex_waitv 458 + 450 common set_mempolicy_home_node sys_set_mempolicy_home_node
+1
arch/mips/kernel/syscalls/syscall_n32.tbl
··· 388 388 # 447 reserved for memfd_secret 389 389 448 n32 process_mrelease sys_process_mrelease 390 390 449 n32 futex_waitv sys_futex_waitv 391 + 450 n32 set_mempolicy_home_node sys_set_mempolicy_home_node
+1
arch/mips/kernel/syscalls/syscall_n64.tbl
··· 364 364 # 447 reserved for memfd_secret 365 365 448 n64 process_mrelease sys_process_mrelease 366 366 449 n64 futex_waitv sys_futex_waitv 367 + 450 common set_mempolicy_home_node sys_set_mempolicy_home_node
+1
arch/mips/kernel/syscalls/syscall_o32.tbl
··· 437 437 # 447 reserved for memfd_secret 438 438 448 o32 process_mrelease sys_process_mrelease 439 439 449 o32 futex_waitv sys_futex_waitv 440 + 450 o32 set_mempolicy_home_node sys_set_mempolicy_home_node
+1
arch/parisc/kernel/syscalls/syscall.tbl
··· 447 447 # 447 reserved for memfd_secret 448 448 448 common process_mrelease sys_process_mrelease 449 449 449 common futex_waitv sys_futex_waitv 450 + 450 common set_mempolicy_home_node sys_set_mempolicy_home_node
+1
arch/powerpc/kernel/syscalls/syscall.tbl
··· 529 529 # 447 reserved for memfd_secret 530 530 448 common process_mrelease sys_process_mrelease 531 531 449 common futex_waitv sys_futex_waitv 532 + 450 nospu set_mempolicy_home_node sys_set_mempolicy_home_node
+1
arch/s390/kernel/syscalls/syscall.tbl
··· 452 452 # 447 reserved for memfd_secret 453 453 448 common process_mrelease sys_process_mrelease sys_process_mrelease 454 454 449 common futex_waitv sys_futex_waitv sys_futex_waitv 455 + 450 common set_mempolicy_home_node sys_set_mempolicy_home_node sys_set_mempolicy_home_node
+1
arch/sh/kernel/syscalls/syscall.tbl
··· 452 452 # 447 reserved for memfd_secret 453 453 448 common process_mrelease sys_process_mrelease 454 454 449 common futex_waitv sys_futex_waitv 455 + 450 common set_mempolicy_home_node sys_set_mempolicy_home_node
+1
arch/sparc/kernel/syscalls/syscall.tbl
··· 495 495 # 447 reserved for memfd_secret 496 496 448 common process_mrelease sys_process_mrelease 497 497 449 common futex_waitv sys_futex_waitv 498 + 450 common set_mempolicy_home_node sys_set_mempolicy_home_node
+1
arch/x86/entry/syscalls/syscall_32.tbl
··· 454 454 447 i386 memfd_secret sys_memfd_secret 455 455 448 i386 process_mrelease sys_process_mrelease 456 456 449 i386 futex_waitv sys_futex_waitv 457 + 450 i386 set_mempolicy_home_node sys_set_mempolicy_home_node
+1
arch/x86/entry/syscalls/syscall_64.tbl
··· 371 371 447 common memfd_secret sys_memfd_secret 372 372 448 common process_mrelease sys_process_mrelease 373 373 449 common futex_waitv sys_futex_waitv 374 + 450 common set_mempolicy_home_node sys_set_mempolicy_home_node 374 375 375 376 # 376 377 # Due to a historical design error, certain syscalls are numbered differently
+1
arch/xtensa/kernel/syscalls/syscall.tbl
··· 420 420 # 447 reserved for memfd_secret 421 421 448 common process_mrelease sys_process_mrelease 422 422 449 common futex_waitv sys_futex_waitv 423 + 450 common set_mempolicy_home_node sys_set_mempolicy_home_node
+3
include/linux/syscalls.h
··· 1057 1057 const void __user *rule_attr, __u32 flags); 1058 1058 asmlinkage long sys_landlock_restrict_self(int ruleset_fd, __u32 flags); 1059 1059 asmlinkage long sys_memfd_secret(unsigned int flags); 1060 + asmlinkage long sys_set_mempolicy_home_node(unsigned long start, unsigned long len, 1061 + unsigned long home_node, 1062 + unsigned long flags); 1060 1063 1061 1064 /* 1062 1065 * Architecture-specific system calls
+4 -1
include/uapi/asm-generic/unistd.h
··· 883 883 #define __NR_futex_waitv 449 884 884 __SYSCALL(__NR_futex_waitv, sys_futex_waitv) 885 885 886 + #define __NR_set_mempolicy_home_node 450 887 + __SYSCALL(__NR_set_mempolicy_home_node, sys_set_mempolicy_home_node) 888 + 886 889 #undef __NR_syscalls 887 - #define __NR_syscalls 450 890 + #define __NR_syscalls 451 888 891 889 892 /* 890 893 * 32 bit systems traditionally used different
+1
kernel/sys_ni.c
··· 297 297 COND_SYSCALL(set_mempolicy); 298 298 COND_SYSCALL(migrate_pages); 299 299 COND_SYSCALL(move_pages); 300 + COND_SYSCALL(set_mempolicy_home_node); 300 301 301 302 COND_SYSCALL(perf_event_open); 302 303 COND_SYSCALL(accept4);