On Tue, 21 Jul 2015 15:59:37 -0400 Eric B Munson <emunson@xxxxxxxxxx> wrote: > With the refactored mlock code, introduce new system calls for mlock, > munlock, and munlockall. The new calls will allow the user to specify > what lock states are being added or cleared. mlock2 and munlock2 are > trivial at the moment, but a follow on patch will add a new mlock state > making them useful. > > munlock2 addresses a limitation of the current implementation. If a > user calls mlockall(MCL_CURRENT | MCL_FUTURE) and then later decides > that MCL_FUTURE should be removed, they would have to call munlockall() > followed by mlockall(MCL_CURRENT) which could potentially be very > expensive. The new munlockall2 system call allows a user to simply > clear the MCL_FUTURE flag. This is hard. Maybe we shouldn't have wired up anything other than x86. That's what we usually do with new syscalls. You appear to have missed mm-mlock-add-new-mlock-munlock-and-munlockall-system-calls-fix.patch: --- a/arch/arm64/include/asm/unistd.h~mm-mlock-add-new-mlock-munlock-and-munlockall-system-calls-fix +++ a/arch/arm64/include/asm/unistd.h @@ -44,7 +44,7 @@ #define __ARM_NR_compat_cacheflush (__ARM_NR_COMPAT_BASE+2) #define __ARM_NR_compat_set_tls (__ARM_NR_COMPAT_BASE+5) -#define __NR_compat_syscalls 388 +#define __NR_compat_syscalls 391 #endif #define __ARCH_WANT_SYS_CLONE And mm-mlock-add-new-mlock-munlock-and-munlockall-system-calls-fix-2.patch: From: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Subject: mm-mlock-add-new-mlock-munlock-and-munlockall-system-calls-fix-2 can we just remove the s390 bits which cause the breakage? I will wire up the syscalls as soon as the patch set gets merged. Heiko Carstens <heiko.carstens@xxxxxxxxxx> Cc: Eric B Munson <emunson@xxxxxxxxxx> Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- arch/s390/kernel/syscalls.S | 3 --- 1 file changed, 3 deletions(-) diff -puN arch/s390/kernel/syscalls.S~mm-mlock-add-new-mlock-munlock-and-munlockall-system-calls-fix-2 arch/s390/kernel/syscalls.S --- a/arch/s390/kernel/syscalls.S~mm-mlock-add-new-mlock-munlock-and-munlockall-system-calls-fix-2 +++ a/arch/s390/kernel/syscalls.S @@ -363,6 +363,3 @@ SYSCALL(sys_bpf,compat_sys_bpf) SYSCALL(sys_s390_pci_mmio_write,compat_sys_s390_pci_mmio_write) SYSCALL(sys_s390_pci_mmio_read,compat_sys_s390_pci_mmio_read) SYSCALL(sys_execveat,compat_sys_execveat) -SYSCALL(sys_mlock2,compat_sys_mlock2) /* 355 */ -SYSCALL(sys_munlock2,compat_sys_munlock2) -SYSCALL(sys_munlockall2,compat_sys_munlockall2)