Thread (29 messages) 29 messages, 6 authors, 2015-09-28

Re: [RFC PATCH v2 6/9] arm: allocate sys_membarrier system call number

flat view

From: Mathieu Desnoyers <hidden>
Date: 2015-09-16 18:27:24
Also in: lkml

----- On Sep 7, 2015, at 12:15 PM, Mathieu Desnoyers mathieu.desnoyers-vg+e7yoeK/dWk0Htik3J/w@public.gmane.org wrote:
[ Untested on this architecture. To try it out: fetch linux-next/akpm,
 apply this patch, build/run a membarrier-enabled kernel, and do make
 kselftest. ]
Hi,

We tested the system call on our ARM board (Wandboard, SoC
Freescale i.MX6 Quad) by applying this patch on top of
Linux 4.3-rc1. Both the membarrier kselftest and
Userspace RCU regression tests (the latter manually wired up
on sys_membarrier) work fine.

Tested-by: Mathieu Desnoyers <mathieu.desnoyers-vg+e7yoeK/dWk0Htik3J/w@public.gmane.org>

sys_membarrier has been pulled into Linux 4.3-rc1. Please
feel free to wire it up on ARM.

Thanks!

Mathieu

quoted hunk ↗ jump to hunk
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers-vg+e7yoeK/dWk0Htik3J/w@public.gmane.org>
CC: Andrew Morton <akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
CC: linux-api-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
CC: Russell King <linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org>
---
arch/arm/include/asm/unistd.h      | 2 +-
arch/arm/include/uapi/asm/unistd.h | 1 +
arch/arm/kernel/calls.S            | 1 +
3 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/arch/arm/include/asm/unistd.h b/arch/arm/include/asm/unistd.h
index 32640c4..d93876c 100644
--- a/arch/arm/include/asm/unistd.h
+++ b/arch/arm/include/asm/unistd.h
@@ -19,7 +19,7 @@
 * This may need to be greater than __NR_last_syscall+1 in order to
 * account for the padding in the syscall table
 */
-#define __NR_syscalls  (388)
+#define __NR_syscalls  (389)
/*
 * *NOTE*: This is a ghost syscall private to the kernel.  Only the
diff --git a/arch/arm/include/uapi/asm/unistd.h
b/arch/arm/include/uapi/asm/unistd.h
index 0c3f5a0..436bb32 100644
--- a/arch/arm/include/uapi/asm/unistd.h
+++ b/arch/arm/include/uapi/asm/unistd.h
@@ -414,6 +414,7 @@
#define __NR_memfd_create		(__NR_SYSCALL_BASE+385)
#define __NR_bpf			(__NR_SYSCALL_BASE+386)
#define __NR_execveat			(__NR_SYSCALL_BASE+387)
+#define __NR_membarrier			(__NR_SYSCALL_BASE+388)

/*
 * The following SWIs are ARM private.
diff --git a/arch/arm/kernel/calls.S b/arch/arm/kernel/calls.S
index 05745eb..310699c 100644
--- a/arch/arm/kernel/calls.S
+++ b/arch/arm/kernel/calls.S
@@ -397,6 +397,7 @@
/* 385 */	CALL(sys_memfd_create)
		CALL(sys_bpf)
		CALL(sys_execveat)
+		CALL(sys_membarrier)
#ifndef syscalls_counted
.equ syscalls_padding, ((NR_syscalls + 3) & ~3) - NR_syscalls
#define syscalls_counted
--
1.9.1
-- 
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help