linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/9] Allocate sys_membarrier on main architectures
@ 2015-09-07 16:15 Mathieu Desnoyers
  2015-09-07 16:15 ` [PATCH v2 1/9] [picked] powerpc: allocate sys_membarrier system call number Mathieu Desnoyers
                   ` (8 more replies)
  0 siblings, 9 replies; 29+ messages in thread
From: Mathieu Desnoyers @ 2015-09-07 16:15 UTC (permalink / raw)
  To: Andrew Morton, linux-api; +Cc: linux-kernel, Mathieu Desnoyers

Following feedback from architecture maintainers, this is v2 of this
patchset. Status:

* Picked into maintainer's tree:
  - powerpc
* Ready to be picked into maintainer's tree (acked/tested):
  - mips, sparc/sparc64, parisc,
* Awaiting feedback/testing:
  - arm, arm64, ia64, s390/s390x

Thanks,

Mathieu

Mathieu Desnoyers (9):
  [picked] powerpc: allocate sys_membarrier system call number
  mips: allocate sys_membarrier system call number
  sparc/sparc64: allocate sys_membarrier system call number
  parisc: allocate sys_membarrier system call number
  alpha: allocate sys_membarrier system call number
  arm: allocate sys_membarrier system call number
  arm64: allocate sys_membarrier system call number
  ia64: allocate sys_membarrier system call number
  s390/s390x: allocate sys_membarrier system call number

 arch/alpha/include/asm/unistd.h        |  2 +-
 arch/alpha/include/uapi/asm/unistd.h   |  1 +
 arch/alpha/kernel/systbls.S            |  1 +
 arch/arm/include/asm/unistd.h          |  2 +-
 arch/arm/include/uapi/asm/unistd.h     |  1 +
 arch/arm/kernel/calls.S                |  1 +
 arch/arm64/include/asm/unistd.h        |  2 +-
 arch/arm64/include/asm/unistd32.h      |  2 ++
 arch/ia64/include/asm/unistd.h         |  2 +-
 arch/ia64/include/uapi/asm/unistd.h    |  1 +
 arch/ia64/kernel/entry.S               |  1 +
 arch/mips/include/uapi/asm/unistd.h    | 15 +++++++++------
 arch/mips/kernel/scall32-o32.S         |  1 +
 arch/mips/kernel/scall64-64.S          |  1 +
 arch/mips/kernel/scall64-n32.S         |  1 +
 arch/mips/kernel/scall64-o32.S         |  1 +
 arch/parisc/include/uapi/asm/unistd.h  |  3 ++-
 arch/parisc/kernel/syscall_table.S     |  1 +
 arch/powerpc/include/asm/systbl.h      |  1 +
 arch/powerpc/include/asm/unistd.h      |  2 +-
 arch/powerpc/include/uapi/asm/unistd.h |  1 +
 arch/s390/include/uapi/asm/unistd.h    |  3 ++-
 arch/s390/kernel/syscalls.S            |  1 +
 arch/sparc/include/uapi/asm/unistd.h   |  3 ++-
 arch/sparc/kernel/systbls_32.S         |  2 +-
 arch/sparc/kernel/systbls_64.S         |  4 ++--
 26 files changed, 39 insertions(+), 17 deletions(-)

-- 
1.9.1


^ permalink raw reply	[flat|nested] 29+ messages in thread

* [PATCH v2 1/9] [picked] powerpc: allocate sys_membarrier system call number
  2015-09-07 16:15 [PATCH v2 0/9] Allocate sys_membarrier on main architectures Mathieu Desnoyers
@ 2015-09-07 16:15 ` Mathieu Desnoyers
  2015-09-07 16:15 ` [PATCH v2 2/9] mips: " Mathieu Desnoyers
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 29+ messages in thread
From: Mathieu Desnoyers @ 2015-09-07 16:15 UTC (permalink / raw)
  To: Andrew Morton, linux-api
  Cc: linux-kernel, Mathieu Desnoyers, Benjamin Herrenschmidt,
	Paul Mackerras, Michael Ellerman, linuxppc-dev

Allow it to be used from SPU, since it should not have unwanted
side-effects.

[ Picked-by: Michael Ellerman <mpe@ellerman.id.au> ]

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
CC: Andrew Morton <akpm@linux-foundation.org>
CC: linux-api@vger.kernel.org
CC: Benjamin Herrenschmidt <benh@kernel.crashing.org>
CC: Paul Mackerras <paulus@samba.org>
CC: Michael Ellerman <mpe@ellerman.id.au>
CC: linuxppc-dev@lists.ozlabs.org
---
 arch/powerpc/include/asm/systbl.h      | 1 +
 arch/powerpc/include/asm/unistd.h      | 2 +-
 arch/powerpc/include/uapi/asm/unistd.h | 1 +
 3 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/arch/powerpc/include/asm/systbl.h b/arch/powerpc/include/asm/systbl.h
index 4d65499..126d0c4 100644
--- a/arch/powerpc/include/asm/systbl.h
+++ b/arch/powerpc/include/asm/systbl.h
@@ -369,3 +369,4 @@ SYSCALL_SPU(bpf)
 COMPAT_SYS(execveat)
 PPC64ONLY(switch_endian)
 SYSCALL_SPU(userfaultfd)
+SYSCALL_SPU(membarrier)
diff --git a/arch/powerpc/include/asm/unistd.h b/arch/powerpc/include/asm/unistd.h
index 4a055b6..13411be 100644
--- a/arch/powerpc/include/asm/unistd.h
+++ b/arch/powerpc/include/asm/unistd.h
@@ -12,7 +12,7 @@
 #include <uapi/asm/unistd.h>
 
 
-#define __NR_syscalls		365
+#define __NR_syscalls		366
 
 #define __NR__exit __NR_exit
 #define NR_syscalls	__NR_syscalls
diff --git a/arch/powerpc/include/uapi/asm/unistd.h b/arch/powerpc/include/uapi/asm/unistd.h
index 6ad58d4..6337738 100644
--- a/arch/powerpc/include/uapi/asm/unistd.h
+++ b/arch/powerpc/include/uapi/asm/unistd.h
@@ -387,5 +387,6 @@
 #define __NR_execveat		362
 #define __NR_switch_endian	363
 #define __NR_userfaultfd	364
+#define __NR_membarrier		365
 
 #endif /* _UAPI_ASM_POWERPC_UNISTD_H_ */
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH v2 2/9] mips: allocate sys_membarrier system call number
  2015-09-07 16:15 [PATCH v2 0/9] Allocate sys_membarrier on main architectures Mathieu Desnoyers
  2015-09-07 16:15 ` [PATCH v2 1/9] [picked] powerpc: allocate sys_membarrier system call number Mathieu Desnoyers
@ 2015-09-07 16:15 ` Mathieu Desnoyers
  2015-09-16 15:04   ` Mathieu Desnoyers
  2015-09-07 16:15 ` [PATCH v2 3/9] sparc/sparc64: " Mathieu Desnoyers
                   ` (6 subsequent siblings)
  8 siblings, 1 reply; 29+ messages in thread
From: Mathieu Desnoyers @ 2015-09-07 16:15 UTC (permalink / raw)
  To: Andrew Morton, linux-api; +Cc: linux-kernel, Mathieu Desnoyers, linux-mips

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Acked-by: Ralf Baechle <ralf@linux-mips.org>
CC: Andrew Morton <akpm@linux-foundation.org>
CC: linux-api@vger.kernel.org
CC: linux-mips@linux-mips.org
---
 arch/mips/include/uapi/asm/unistd.h | 15 +++++++++------
 arch/mips/kernel/scall32-o32.S      |  1 +
 arch/mips/kernel/scall64-64.S       |  1 +
 arch/mips/kernel/scall64-n32.S      |  1 +
 arch/mips/kernel/scall64-o32.S      |  1 +
 5 files changed, 13 insertions(+), 6 deletions(-)

diff --git a/arch/mips/include/uapi/asm/unistd.h b/arch/mips/include/uapi/asm/unistd.h
index d0bdfaa..b107983 100644
--- a/arch/mips/include/uapi/asm/unistd.h
+++ b/arch/mips/include/uapi/asm/unistd.h
@@ -378,16 +378,17 @@
 #define __NR_bpf			(__NR_Linux + 355)
 #define __NR_execveat			(__NR_Linux + 356)
 #define __NR_mlock2			(__NR_Linux + 357)
+#define __NR_membarrier			(__NR_Linux + 358)
 
 /*
  * Offset of the last Linux o32 flavoured syscall
  */
-#define __NR_Linux_syscalls		357
+#define __NR_Linux_syscalls		358
 
 #endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */
 
 #define __NR_O32_Linux			4000
-#define __NR_O32_Linux_syscalls		357
+#define __NR_O32_Linux_syscalls		358
 
 #if _MIPS_SIM == _MIPS_SIM_ABI64
 
@@ -713,16 +714,17 @@
 #define __NR_bpf			(__NR_Linux + 315)
 #define __NR_execveat			(__NR_Linux + 316)
 #define __NR_mlock2			(__NR_Linux + 317)
+#define __NR_membarrier			(__NR_Linux + 318)
 
 /*
  * Offset of the last Linux 64-bit flavoured syscall
  */
-#define __NR_Linux_syscalls		317
+#define __NR_Linux_syscalls		318
 
 #endif /* _MIPS_SIM == _MIPS_SIM_ABI64 */
 
 #define __NR_64_Linux			5000
-#define __NR_64_Linux_syscalls		317
+#define __NR_64_Linux_syscalls		318
 
 #if _MIPS_SIM == _MIPS_SIM_NABI32
 
@@ -1052,15 +1054,16 @@
 #define __NR_bpf			(__NR_Linux + 319)
 #define __NR_execveat			(__NR_Linux + 320)
 #define __NR_mlock2			(__NR_Linux + 321)
+#define __NR_membarrier			(__NR_Linux + 322)
 
 /*
  * Offset of the last N32 flavoured syscall
  */
-#define __NR_Linux_syscalls		321
+#define __NR_Linux_syscalls		322
 
 #endif /* _MIPS_SIM == _MIPS_SIM_NABI32 */
 
 #define __NR_N32_Linux			6000
-#define __NR_N32_Linux_syscalls		321
+#define __NR_N32_Linux_syscalls		322
 
 #endif /* _UAPI_ASM_UNISTD_H */
diff --git a/arch/mips/kernel/scall32-o32.S b/arch/mips/kernel/scall32-o32.S
index b0b377a..9265542 100644
--- a/arch/mips/kernel/scall32-o32.S
+++ b/arch/mips/kernel/scall32-o32.S
@@ -600,3 +600,4 @@ EXPORT(sys_call_table)
 	PTR	sys_bpf				/* 4355 */
 	PTR	sys_execveat
 	PTR	sys_mlock2
+	PTR	sys_membarrier
diff --git a/arch/mips/kernel/scall64-64.S b/arch/mips/kernel/scall64-64.S
index f12eb03..79d4fb0 100644
--- a/arch/mips/kernel/scall64-64.S
+++ b/arch/mips/kernel/scall64-64.S
@@ -437,4 +437,5 @@ EXPORT(sys_call_table)
 	PTR	sys_bpf				/* 5315 */
 	PTR	sys_execveat
 	PTR	sys_mlock2
+	PTR	sys_membarrier
 	.size	sys_call_table,.-sys_call_table
diff --git a/arch/mips/kernel/scall64-n32.S b/arch/mips/kernel/scall64-n32.S
index ecdd65a..235892a 100644
--- a/arch/mips/kernel/scall64-n32.S
+++ b/arch/mips/kernel/scall64-n32.S
@@ -430,4 +430,5 @@ EXPORT(sysn32_call_table)
 	PTR	sys_bpf
 	PTR	compat_sys_execveat		/* 6320 */
 	PTR	sys_mlock2
+	PTR	sys_membarrier
 	.size	sysn32_call_table,.-sysn32_call_table
diff --git a/arch/mips/kernel/scall64-o32.S b/arch/mips/kernel/scall64-o32.S
index 7a8b2df..c051bd3 100644
--- a/arch/mips/kernel/scall64-o32.S
+++ b/arch/mips/kernel/scall64-o32.S
@@ -585,4 +585,5 @@ EXPORT(sys32_call_table)
 	PTR	sys_bpf				/* 4355 */
 	PTR	compat_sys_execveat
 	PTR	sys_mlock2
+	PTR	sys_membarrier
 	.size	sys32_call_table,.-sys32_call_table
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH v2 3/9] sparc/sparc64: allocate sys_membarrier system call number
  2015-09-07 16:15 [PATCH v2 0/9] Allocate sys_membarrier on main architectures Mathieu Desnoyers
  2015-09-07 16:15 ` [PATCH v2 1/9] [picked] powerpc: allocate sys_membarrier system call number Mathieu Desnoyers
  2015-09-07 16:15 ` [PATCH v2 2/9] mips: " Mathieu Desnoyers
@ 2015-09-07 16:15 ` Mathieu Desnoyers
  2015-09-16 15:05   ` Mathieu Desnoyers
  2015-09-07 16:15 ` [PATCH v2 4/9] parisc: " Mathieu Desnoyers
                   ` (5 subsequent siblings)
  8 siblings, 1 reply; 29+ messages in thread
From: Mathieu Desnoyers @ 2015-09-07 16:15 UTC (permalink / raw)
  To: Andrew Morton, linux-api; +Cc: linux-kernel, Mathieu Desnoyers, sparclinux

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Acked-by: "David S. Miller" <davem@davemloft.net>
CC: Andrew Morton <akpm@linux-foundation.org>
CC: linux-api@vger.kernel.org
CC: sparclinux@vger.kernel.org
---
 arch/sparc/include/uapi/asm/unistd.h | 3 ++-
 arch/sparc/kernel/systbls_32.S       | 2 +-
 arch/sparc/kernel/systbls_64.S       | 4 ++--
 3 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/arch/sparc/include/uapi/asm/unistd.h b/arch/sparc/include/uapi/asm/unistd.h
index 6f35f4d..efe9479 100644
--- a/arch/sparc/include/uapi/asm/unistd.h
+++ b/arch/sparc/include/uapi/asm/unistd.h
@@ -416,8 +416,9 @@
 #define __NR_memfd_create	348
 #define __NR_bpf		349
 #define __NR_execveat		350
+#define __NR_membarrier		351
 
-#define NR_syscalls		351
+#define NR_syscalls		352
 
 /* Bitmask values returned from kern_features system call.  */
 #define KERN_FEATURE_MIXED_MODE_STACK	0x00000001
diff --git a/arch/sparc/kernel/systbls_32.S b/arch/sparc/kernel/systbls_32.S
index e31a905..cc23b62 100644
--- a/arch/sparc/kernel/systbls_32.S
+++ b/arch/sparc/kernel/systbls_32.S
@@ -87,4 +87,4 @@ sys_call_table:
 /*335*/	.long sys_syncfs, sys_sendmmsg, sys_setns, sys_process_vm_readv, sys_process_vm_writev
 /*340*/	.long sys_ni_syscall, sys_kcmp, sys_finit_module, sys_sched_setattr, sys_sched_getattr
 /*345*/	.long sys_renameat2, sys_seccomp, sys_getrandom, sys_memfd_create, sys_bpf
-/*350*/	.long sys_execveat
+/*350*/	.long sys_execveat, sys_membarrier
diff --git a/arch/sparc/kernel/systbls_64.S b/arch/sparc/kernel/systbls_64.S
index d72f76a..f229468 100644
--- a/arch/sparc/kernel/systbls_64.S
+++ b/arch/sparc/kernel/systbls_64.S
@@ -88,7 +88,7 @@ sys_call_table32:
 	.word sys_syncfs, compat_sys_sendmmsg, sys_setns, compat_sys_process_vm_readv, compat_sys_process_vm_writev
 /*340*/	.word sys_kern_features, sys_kcmp, sys_finit_module, sys_sched_setattr, sys_sched_getattr
 	.word sys32_renameat2, sys_seccomp, sys_getrandom, sys_memfd_create, sys_bpf
-/*350*/	.word sys32_execveat
+/*350*/	.word sys32_execveat, sys_membarrier
 
 #endif /* CONFIG_COMPAT */
 
@@ -168,4 +168,4 @@ sys_call_table:
 	.word sys_syncfs, sys_sendmmsg, sys_setns, sys_process_vm_readv, sys_process_vm_writev
 /*340*/	.word sys_kern_features, sys_kcmp, sys_finit_module, sys_sched_setattr, sys_sched_getattr
 	.word sys_renameat2, sys_seccomp, sys_getrandom, sys_memfd_create, sys_bpf
-/*350*/	.word sys64_execveat
+/*350*/	.word sys64_execveat, sys_membarrier
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH v2 4/9] parisc: allocate sys_membarrier system call number
  2015-09-07 16:15 [PATCH v2 0/9] Allocate sys_membarrier on main architectures Mathieu Desnoyers
                   ` (2 preceding siblings ...)
  2015-09-07 16:15 ` [PATCH v2 3/9] sparc/sparc64: " Mathieu Desnoyers
@ 2015-09-07 16:15 ` Mathieu Desnoyers
  2015-09-16 15:07   ` Mathieu Desnoyers
  2015-09-07 16:15 ` [RFC PATCH v2 5/9] alpha: " Mathieu Desnoyers
                   ` (4 subsequent siblings)
  8 siblings, 1 reply; 29+ messages in thread
From: Mathieu Desnoyers @ 2015-09-07 16:15 UTC (permalink / raw)
  To: Andrew Morton, linux-api
  Cc: linux-kernel, Mathieu Desnoyers, James E.J. Bottomley, linux-parisc

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Tested-by: Helge Deller <deller@gmx.de>
CC: Andrew Morton <akpm@linux-foundation.org>
CC: linux-api@vger.kernel.org
CC: "James E.J. Bottomley" <jejb@parisc-linux.org>
CC: linux-parisc@vger.kernel.org
---
 arch/parisc/include/uapi/asm/unistd.h | 3 ++-
 arch/parisc/kernel/syscall_table.S    | 1 +
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/arch/parisc/include/uapi/asm/unistd.h b/arch/parisc/include/uapi/asm/unistd.h
index 2e639d7..dadcada 100644
--- a/arch/parisc/include/uapi/asm/unistd.h
+++ b/arch/parisc/include/uapi/asm/unistd.h
@@ -358,8 +358,9 @@
 #define __NR_memfd_create	(__NR_Linux + 340)
 #define __NR_bpf		(__NR_Linux + 341)
 #define __NR_execveat		(__NR_Linux + 342)
+#define __NR_membarrier		(__NR_Linux + 343)
 
-#define __NR_Linux_syscalls	(__NR_execveat + 1)
+#define __NR_Linux_syscalls	(__NR_membarrier + 1)
 
 
 #define __IGNORE_select		/* newselect */
diff --git a/arch/parisc/kernel/syscall_table.S b/arch/parisc/kernel/syscall_table.S
index 8eefb12..4e77991 100644
--- a/arch/parisc/kernel/syscall_table.S
+++ b/arch/parisc/kernel/syscall_table.S
@@ -438,6 +438,7 @@
 	ENTRY_SAME(memfd_create)	/* 340 */
 	ENTRY_SAME(bpf)
 	ENTRY_COMP(execveat)
+	ENTRY_SAME(membarrier)
 
 
 .ifne (. - 90b) - (__NR_Linux_syscalls * (91b - 90b))
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [RFC PATCH v2 5/9] alpha: allocate sys_membarrier system call number
  2015-09-07 16:15 [PATCH v2 0/9] Allocate sys_membarrier on main architectures Mathieu Desnoyers
                   ` (3 preceding siblings ...)
  2015-09-07 16:15 ` [PATCH v2 4/9] parisc: " Mathieu Desnoyers
@ 2015-09-07 16:15 ` Mathieu Desnoyers
  2015-09-16 15:17   ` Mathieu Desnoyers
  2015-09-07 16:15 ` [RFC PATCH v2 6/9] arm: " Mathieu Desnoyers
                   ` (3 subsequent siblings)
  8 siblings, 1 reply; 29+ messages in thread
From: Mathieu Desnoyers @ 2015-09-07 16:15 UTC (permalink / raw)
  To: Andrew Morton, linux-api
  Cc: linux-kernel, Mathieu Desnoyers, Richard Henderson,
	Ivan Kokshaysky, Matt Turner, linux-alpha

[ 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. ]

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
CC: Andrew Morton <akpm@linux-foundation.org>
CC: linux-api@vger.kernel.org
CC: Richard Henderson <rth@twiddle.net>
CC: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
CC: Matt Turner <mattst88@gmail.com>
CC: linux-alpha@vger.kernel.org
---
 arch/alpha/include/asm/unistd.h      | 2 +-
 arch/alpha/include/uapi/asm/unistd.h | 1 +
 arch/alpha/kernel/systbls.S          | 1 +
 3 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/arch/alpha/include/asm/unistd.h b/arch/alpha/include/asm/unistd.h
index a56e608..07aa4ca 100644
--- a/arch/alpha/include/asm/unistd.h
+++ b/arch/alpha/include/asm/unistd.h
@@ -3,7 +3,7 @@
 
 #include <uapi/asm/unistd.h>
 
-#define NR_SYSCALLS			514
+#define NR_SYSCALLS			515
 
 #define __ARCH_WANT_OLD_READDIR
 #define __ARCH_WANT_STAT64
diff --git a/arch/alpha/include/uapi/asm/unistd.h b/arch/alpha/include/uapi/asm/unistd.h
index aa33bf5..7725619 100644
--- a/arch/alpha/include/uapi/asm/unistd.h
+++ b/arch/alpha/include/uapi/asm/unistd.h
@@ -475,5 +475,6 @@
 #define __NR_getrandom			511
 #define __NR_memfd_create		512
 #define __NR_execveat			513
+#define __NR_membarrier			514
 
 #endif /* _UAPI_ALPHA_UNISTD_H */
diff --git a/arch/alpha/kernel/systbls.S b/arch/alpha/kernel/systbls.S
index 9b62e3f..1ea64f4 100644
--- a/arch/alpha/kernel/systbls.S
+++ b/arch/alpha/kernel/systbls.S
@@ -532,6 +532,7 @@ sys_call_table:
 	.quad sys_getrandom
 	.quad sys_memfd_create
 	.quad sys_execveat
+	.quad sys_membarrier
 
 	.size sys_call_table, . - sys_call_table
 	.type sys_call_table, @object
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [RFC PATCH v2 6/9] arm: allocate sys_membarrier system call number
  2015-09-07 16:15 [PATCH v2 0/9] Allocate sys_membarrier on main architectures Mathieu Desnoyers
                   ` (4 preceding siblings ...)
  2015-09-07 16:15 ` [RFC PATCH v2 5/9] alpha: " Mathieu Desnoyers
@ 2015-09-07 16:15 ` Mathieu Desnoyers
  2015-09-16 18:27   ` Mathieu Desnoyers
  2015-09-07 16:15 ` [RFC PATCH v2 7/9] arm64: " Mathieu Desnoyers
                   ` (2 subsequent siblings)
  8 siblings, 1 reply; 29+ messages in thread
From: Mathieu Desnoyers @ 2015-09-07 16:15 UTC (permalink / raw)
  To: Andrew Morton, linux-api; +Cc: linux-kernel, Mathieu Desnoyers, Russell King

[ 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. ]

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
CC: Andrew Morton <akpm@linux-foundation.org>
CC: linux-api@vger.kernel.org
CC: Russell King <linux@arm.linux.org.uk>
---
 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


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [RFC PATCH v2 7/9] arm64: allocate sys_membarrier system call number
  2015-09-07 16:15 [PATCH v2 0/9] Allocate sys_membarrier on main architectures Mathieu Desnoyers
                   ` (5 preceding siblings ...)
  2015-09-07 16:15 ` [RFC PATCH v2 6/9] arm: " Mathieu Desnoyers
@ 2015-09-07 16:15 ` Mathieu Desnoyers
  2015-09-16 15:18   ` Mathieu Desnoyers
  2015-09-07 16:15 ` [RFC PATCH v2 8/9] ia64: " Mathieu Desnoyers
  2015-09-07 16:15 ` [RFC PATCH v2 9/9] s390/s390x: " Mathieu Desnoyers
  8 siblings, 1 reply; 29+ messages in thread
From: Mathieu Desnoyers @ 2015-09-07 16:15 UTC (permalink / raw)
  To: Andrew Morton, linux-api
  Cc: linux-kernel, Mathieu Desnoyers, Catalin Marinas, Will Deacon

arm64 sys_membarrier number is already wired for arm64 through
asm-generic/unistd.h, but needs to be allocated separately for
the 32-bit compability layer of arm64.

[ 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. ]

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
CC: Andrew Morton <akpm@linux-foundation.org>
CC: linux-api@vger.kernel.org
CC: Catalin Marinas <catalin.marinas@arm.com>
CC: Will Deacon <will.deacon@arm.com>
---
 arch/arm64/include/asm/unistd.h   | 2 +-
 arch/arm64/include/asm/unistd32.h | 2 ++
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/arch/arm64/include/asm/unistd.h b/arch/arm64/include/asm/unistd.h
index 3bc498c..e70f7e7 100644
--- a/arch/arm64/include/asm/unistd.h
+++ b/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		389
 #endif
 
 #define __ARCH_WANT_SYS_CLONE
diff --git a/arch/arm64/include/asm/unistd32.h b/arch/arm64/include/asm/unistd32.h
index cef934a..d97be80 100644
--- a/arch/arm64/include/asm/unistd32.h
+++ b/arch/arm64/include/asm/unistd32.h
@@ -797,3 +797,5 @@ __SYSCALL(__NR_memfd_create, sys_memfd_create)
 __SYSCALL(__NR_bpf, sys_bpf)
 #define __NR_execveat 387
 __SYSCALL(__NR_execveat, compat_sys_execveat)
+#define __NR_membarrier 388
+__SYSCALL(__NR_membarrier, sys_membarrier)
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [RFC PATCH v2 8/9] ia64: allocate sys_membarrier system call number
  2015-09-07 16:15 [PATCH v2 0/9] Allocate sys_membarrier on main architectures Mathieu Desnoyers
                   ` (6 preceding siblings ...)
  2015-09-07 16:15 ` [RFC PATCH v2 7/9] arm64: " Mathieu Desnoyers
@ 2015-09-07 16:15 ` Mathieu Desnoyers
  2015-09-16 15:19   ` Mathieu Desnoyers
  2015-09-07 16:15 ` [RFC PATCH v2 9/9] s390/s390x: " Mathieu Desnoyers
  8 siblings, 1 reply; 29+ messages in thread
From: Mathieu Desnoyers @ 2015-09-07 16:15 UTC (permalink / raw)
  To: Andrew Morton, linux-api
  Cc: linux-kernel, Mathieu Desnoyers, Tony Luck, Fenghua Yu, linux-ia64

[ 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. ]

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
CC: Andrew Morton <akpm@linux-foundation.org>
CC: linux-api@vger.kernel.org
CC: Tony Luck <tony.luck@intel.com>
CC: Fenghua Yu <fenghua.yu@intel.com>
CC: linux-ia64@vger.kernel.org
---
 arch/ia64/include/asm/unistd.h      | 2 +-
 arch/ia64/include/uapi/asm/unistd.h | 1 +
 arch/ia64/kernel/entry.S            | 1 +
 3 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/arch/ia64/include/asm/unistd.h b/arch/ia64/include/asm/unistd.h
index 95c39b9..1d54e17 100644
--- a/arch/ia64/include/asm/unistd.h
+++ b/arch/ia64/include/asm/unistd.h
@@ -11,7 +11,7 @@
 
 
 
-#define NR_syscalls			319 /* length of syscall table */
+#define NR_syscalls			320 /* length of syscall table */
 
 /*
  * The following defines stop scripts/checksyscalls.sh from complaining about
diff --git a/arch/ia64/include/uapi/asm/unistd.h b/arch/ia64/include/uapi/asm/unistd.h
index 4610795..b7aae55 100644
--- a/arch/ia64/include/uapi/asm/unistd.h
+++ b/arch/ia64/include/uapi/asm/unistd.h
@@ -332,5 +332,6 @@
 #define __NR_memfd_create		1340
 #define __NR_bpf			1341
 #define __NR_execveat			1342
+#define __NR_membarrier			1343
 
 #endif /* _UAPI_ASM_IA64_UNISTD_H */
diff --git a/arch/ia64/kernel/entry.S b/arch/ia64/kernel/entry.S
index ae0de7b..1ce01f9 100644
--- a/arch/ia64/kernel/entry.S
+++ b/arch/ia64/kernel/entry.S
@@ -1768,5 +1768,6 @@ sys_call_table:
 	data8 sys_memfd_create			// 1340
 	data8 sys_bpf
 	data8 sys_execveat
+	data8 sys_membarrier
 
 	.org sys_call_table + 8*NR_syscalls	// guard against failures to increase NR_syscalls
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [RFC PATCH v2 9/9] s390/s390x: allocate sys_membarrier system call number
  2015-09-07 16:15 [PATCH v2 0/9] Allocate sys_membarrier on main architectures Mathieu Desnoyers
                   ` (7 preceding siblings ...)
  2015-09-07 16:15 ` [RFC PATCH v2 8/9] ia64: " Mathieu Desnoyers
@ 2015-09-07 16:15 ` Mathieu Desnoyers
  2015-09-16 15:20   ` Mathieu Desnoyers
  8 siblings, 1 reply; 29+ messages in thread
From: Mathieu Desnoyers @ 2015-09-07 16:15 UTC (permalink / raw)
  To: Andrew Morton, linux-api
  Cc: linux-kernel, Mathieu Desnoyers, Martin Schwidefsky,
	Heiko Carstens, linux-s390

[ 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. ]

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
CC: Andrew Morton <akpm@linux-foundation.org>
CC: linux-api@vger.kernel.org
CC: Martin Schwidefsky <schwidefsky@de.ibm.com>
CC: Heiko Carstens <heiko.carstens@de.ibm.com>
CC: linux-s390@vger.kernel.org
---
 arch/s390/include/uapi/asm/unistd.h | 3 ++-
 arch/s390/kernel/syscalls.S         | 1 +
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/arch/s390/include/uapi/asm/unistd.h b/arch/s390/include/uapi/asm/unistd.h
index 59d2bb4..2f1de70 100644
--- a/arch/s390/include/uapi/asm/unistd.h
+++ b/arch/s390/include/uapi/asm/unistd.h
@@ -290,7 +290,8 @@
 #define __NR_s390_pci_mmio_write	352
 #define __NR_s390_pci_mmio_read		353
 #define __NR_execveat		354
-#define NR_syscalls 355
+#define __NR_membarrier		355
+#define NR_syscalls 356
 
 /* 
  * There are some system calls that are not present on 64 bit, some
diff --git a/arch/s390/kernel/syscalls.S b/arch/s390/kernel/syscalls.S
index f3f4a13..914c098 100644
--- a/arch/s390/kernel/syscalls.S
+++ b/arch/s390/kernel/syscalls.S
@@ -363,3 +363,4 @@ 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_membarrier,sys_membarrier)
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* Re: [PATCH v2 2/9] mips: allocate sys_membarrier system call number
  2015-09-07 16:15 ` [PATCH v2 2/9] mips: " Mathieu Desnoyers
@ 2015-09-16 15:04   ` Mathieu Desnoyers
  2015-09-28 17:12     ` Mathieu Desnoyers
  0 siblings, 1 reply; 29+ messages in thread
From: Mathieu Desnoyers @ 2015-09-16 15:04 UTC (permalink / raw)
  To: Ralf Baechle; +Cc: linux-kernel, linux-mips, Andrew Morton, linux-api

----- On Sep 7, 2015, at 12:15 PM, Mathieu Desnoyers mathieu.desnoyers@efficios.com wrote:

> Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
> Acked-by: Ralf Baechle <ralf@linux-mips.org>
> CC: Andrew Morton <akpm@linux-foundation.org>
> CC: linux-api@vger.kernel.org
> CC: linux-mips@linux-mips.org

Hi,

FYI, sys_membarrier has been merged upstream in Linux 4.3-rc1. Feel free
to wire up this system call on MIPS.

Thanks!

Mathieu

> ---
> arch/mips/include/uapi/asm/unistd.h | 15 +++++++++------
> arch/mips/kernel/scall32-o32.S      |  1 +
> arch/mips/kernel/scall64-64.S       |  1 +
> arch/mips/kernel/scall64-n32.S      |  1 +
> arch/mips/kernel/scall64-o32.S      |  1 +
> 5 files changed, 13 insertions(+), 6 deletions(-)
> 
> diff --git a/arch/mips/include/uapi/asm/unistd.h
> b/arch/mips/include/uapi/asm/unistd.h
> index d0bdfaa..b107983 100644
> --- a/arch/mips/include/uapi/asm/unistd.h
> +++ b/arch/mips/include/uapi/asm/unistd.h
> @@ -378,16 +378,17 @@
> #define __NR_bpf			(__NR_Linux + 355)
> #define __NR_execveat			(__NR_Linux + 356)
> #define __NR_mlock2			(__NR_Linux + 357)
> +#define __NR_membarrier			(__NR_Linux + 358)
> 
> /*
>  * Offset of the last Linux o32 flavoured syscall
>  */
> -#define __NR_Linux_syscalls		357
> +#define __NR_Linux_syscalls		358
> 
> #endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */
> 
> #define __NR_O32_Linux			4000
> -#define __NR_O32_Linux_syscalls		357
> +#define __NR_O32_Linux_syscalls		358
> 
> #if _MIPS_SIM == _MIPS_SIM_ABI64
> 
> @@ -713,16 +714,17 @@
> #define __NR_bpf			(__NR_Linux + 315)
> #define __NR_execveat			(__NR_Linux + 316)
> #define __NR_mlock2			(__NR_Linux + 317)
> +#define __NR_membarrier			(__NR_Linux + 318)
> 
> /*
>  * Offset of the last Linux 64-bit flavoured syscall
>  */
> -#define __NR_Linux_syscalls		317
> +#define __NR_Linux_syscalls		318
> 
> #endif /* _MIPS_SIM == _MIPS_SIM_ABI64 */
> 
> #define __NR_64_Linux			5000
> -#define __NR_64_Linux_syscalls		317
> +#define __NR_64_Linux_syscalls		318
> 
> #if _MIPS_SIM == _MIPS_SIM_NABI32
> 
> @@ -1052,15 +1054,16 @@
> #define __NR_bpf			(__NR_Linux + 319)
> #define __NR_execveat			(__NR_Linux + 320)
> #define __NR_mlock2			(__NR_Linux + 321)
> +#define __NR_membarrier			(__NR_Linux + 322)
> 
> /*
>  * Offset of the last N32 flavoured syscall
>  */
> -#define __NR_Linux_syscalls		321
> +#define __NR_Linux_syscalls		322
> 
> #endif /* _MIPS_SIM == _MIPS_SIM_NABI32 */
> 
> #define __NR_N32_Linux			6000
> -#define __NR_N32_Linux_syscalls		321
> +#define __NR_N32_Linux_syscalls		322
> 
> #endif /* _UAPI_ASM_UNISTD_H */
> diff --git a/arch/mips/kernel/scall32-o32.S b/arch/mips/kernel/scall32-o32.S
> index b0b377a..9265542 100644
> --- a/arch/mips/kernel/scall32-o32.S
> +++ b/arch/mips/kernel/scall32-o32.S
> @@ -600,3 +600,4 @@ EXPORT(sys_call_table)
> 	PTR	sys_bpf				/* 4355 */
> 	PTR	sys_execveat
> 	PTR	sys_mlock2
> +	PTR	sys_membarrier
> diff --git a/arch/mips/kernel/scall64-64.S b/arch/mips/kernel/scall64-64.S
> index f12eb03..79d4fb0 100644
> --- a/arch/mips/kernel/scall64-64.S
> +++ b/arch/mips/kernel/scall64-64.S
> @@ -437,4 +437,5 @@ EXPORT(sys_call_table)
> 	PTR	sys_bpf				/* 5315 */
> 	PTR	sys_execveat
> 	PTR	sys_mlock2
> +	PTR	sys_membarrier
> 	.size	sys_call_table,.-sys_call_table
> diff --git a/arch/mips/kernel/scall64-n32.S b/arch/mips/kernel/scall64-n32.S
> index ecdd65a..235892a 100644
> --- a/arch/mips/kernel/scall64-n32.S
> +++ b/arch/mips/kernel/scall64-n32.S
> @@ -430,4 +430,5 @@ EXPORT(sysn32_call_table)
> 	PTR	sys_bpf
> 	PTR	compat_sys_execveat		/* 6320 */
> 	PTR	sys_mlock2
> +	PTR	sys_membarrier
> 	.size	sysn32_call_table,.-sysn32_call_table
> diff --git a/arch/mips/kernel/scall64-o32.S b/arch/mips/kernel/scall64-o32.S
> index 7a8b2df..c051bd3 100644
> --- a/arch/mips/kernel/scall64-o32.S
> +++ b/arch/mips/kernel/scall64-o32.S
> @@ -585,4 +585,5 @@ EXPORT(sys32_call_table)
> 	PTR	sys_bpf				/* 4355 */
> 	PTR	compat_sys_execveat
> 	PTR	sys_mlock2
> +	PTR	sys_membarrier
> 	.size	sys32_call_table,.-sys32_call_table
> --
> 1.9.1

-- 
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH v2 3/9] sparc/sparc64: allocate sys_membarrier system call number
  2015-09-07 16:15 ` [PATCH v2 3/9] sparc/sparc64: " Mathieu Desnoyers
@ 2015-09-16 15:05   ` Mathieu Desnoyers
  2015-09-16 17:57     ` David Miller
  0 siblings, 1 reply; 29+ messages in thread
From: Mathieu Desnoyers @ 2015-09-16 15:05 UTC (permalink / raw)
  To: David S. Miller; +Cc: linux-kernel, sparclinux, linux-api, Andrew Morton

----- On Sep 7, 2015, at 12:15 PM, Mathieu Desnoyers mathieu.desnoyers@efficios.com wrote:

> Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
> Acked-by: "David S. Miller" <davem@davemloft.net>
> CC: Andrew Morton <akpm@linux-foundation.org>
> CC: linux-api@vger.kernel.org
> CC: sparclinux@vger.kernel.org

Hi,

FYI, sys_membarrier has been merged upstream in Linux 4.3-rc1. Feel free
to wire up this system call on sparc.

Thanks!

Mathieu

> ---
> arch/sparc/include/uapi/asm/unistd.h | 3 ++-
> arch/sparc/kernel/systbls_32.S       | 2 +-
> arch/sparc/kernel/systbls_64.S       | 4 ++--
> 3 files changed, 5 insertions(+), 4 deletions(-)
> 
> diff --git a/arch/sparc/include/uapi/asm/unistd.h
> b/arch/sparc/include/uapi/asm/unistd.h
> index 6f35f4d..efe9479 100644
> --- a/arch/sparc/include/uapi/asm/unistd.h
> +++ b/arch/sparc/include/uapi/asm/unistd.h
> @@ -416,8 +416,9 @@
> #define __NR_memfd_create	348
> #define __NR_bpf		349
> #define __NR_execveat		350
> +#define __NR_membarrier		351
> 
> -#define NR_syscalls		351
> +#define NR_syscalls		352
> 
> /* Bitmask values returned from kern_features system call.  */
> #define KERN_FEATURE_MIXED_MODE_STACK	0x00000001
> diff --git a/arch/sparc/kernel/systbls_32.S b/arch/sparc/kernel/systbls_32.S
> index e31a905..cc23b62 100644
> --- a/arch/sparc/kernel/systbls_32.S
> +++ b/arch/sparc/kernel/systbls_32.S
> @@ -87,4 +87,4 @@ sys_call_table:
> /*335*/	.long sys_syncfs, sys_sendmmsg, sys_setns, sys_process_vm_readv,
> sys_process_vm_writev
> /*340*/	.long sys_ni_syscall, sys_kcmp, sys_finit_module, sys_sched_setattr,
> sys_sched_getattr
> /*345*/	.long sys_renameat2, sys_seccomp, sys_getrandom, sys_memfd_create,
> sys_bpf
> -/*350*/	.long sys_execveat
> +/*350*/	.long sys_execveat, sys_membarrier
> diff --git a/arch/sparc/kernel/systbls_64.S b/arch/sparc/kernel/systbls_64.S
> index d72f76a..f229468 100644
> --- a/arch/sparc/kernel/systbls_64.S
> +++ b/arch/sparc/kernel/systbls_64.S
> @@ -88,7 +88,7 @@ sys_call_table32:
> 	.word sys_syncfs, compat_sys_sendmmsg, sys_setns, compat_sys_process_vm_readv,
> 	compat_sys_process_vm_writev
> /*340*/	.word sys_kern_features, sys_kcmp, sys_finit_module, sys_sched_setattr,
> sys_sched_getattr
> 	.word sys32_renameat2, sys_seccomp, sys_getrandom, sys_memfd_create, sys_bpf
> -/*350*/	.word sys32_execveat
> +/*350*/	.word sys32_execveat, sys_membarrier
> 
> #endif /* CONFIG_COMPAT */
> 
> @@ -168,4 +168,4 @@ sys_call_table:
> 	.word sys_syncfs, sys_sendmmsg, sys_setns, sys_process_vm_readv,
> 	sys_process_vm_writev
> /*340*/	.word sys_kern_features, sys_kcmp, sys_finit_module, sys_sched_setattr,
> sys_sched_getattr
> 	.word sys_renameat2, sys_seccomp, sys_getrandom, sys_memfd_create, sys_bpf
> -/*350*/	.word sys64_execveat
> +/*350*/	.word sys64_execveat, sys_membarrier
> --
> 1.9.1

-- 
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH v2 4/9] parisc: allocate sys_membarrier system call number
  2015-09-07 16:15 ` [PATCH v2 4/9] parisc: " Mathieu Desnoyers
@ 2015-09-16 15:07   ` Mathieu Desnoyers
  2015-09-16 19:56     ` Helge Deller
  0 siblings, 1 reply; 29+ messages in thread
From: Mathieu Desnoyers @ 2015-09-16 15:07 UTC (permalink / raw)
  To: Helge Deller, James E.J. Bottomley
  Cc: linux-kernel, linux-parisc, Andrew Morton, linux-api

----- On Sep 7, 2015, at 12:15 PM, Mathieu Desnoyers mathieu.desnoyers@efficios.com wrote:

> Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
> Tested-by: Helge Deller <deller@gmx.de>
> CC: Andrew Morton <akpm@linux-foundation.org>
> CC: linux-api@vger.kernel.org
> CC: "James E.J. Bottomley" <jejb@parisc-linux.org>
> CC: linux-parisc@vger.kernel.org

Hi,

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

Thanks!

Mathieu

> ---
> arch/parisc/include/uapi/asm/unistd.h | 3 ++-
> arch/parisc/kernel/syscall_table.S    | 1 +
> 2 files changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/parisc/include/uapi/asm/unistd.h
> b/arch/parisc/include/uapi/asm/unistd.h
> index 2e639d7..dadcada 100644
> --- a/arch/parisc/include/uapi/asm/unistd.h
> +++ b/arch/parisc/include/uapi/asm/unistd.h
> @@ -358,8 +358,9 @@
> #define __NR_memfd_create	(__NR_Linux + 340)
> #define __NR_bpf		(__NR_Linux + 341)
> #define __NR_execveat		(__NR_Linux + 342)
> +#define __NR_membarrier		(__NR_Linux + 343)
> 
> -#define __NR_Linux_syscalls	(__NR_execveat + 1)
> +#define __NR_Linux_syscalls	(__NR_membarrier + 1)
> 
> 
> #define __IGNORE_select		/* newselect */
> diff --git a/arch/parisc/kernel/syscall_table.S
> b/arch/parisc/kernel/syscall_table.S
> index 8eefb12..4e77991 100644
> --- a/arch/parisc/kernel/syscall_table.S
> +++ b/arch/parisc/kernel/syscall_table.S
> @@ -438,6 +438,7 @@
> 	ENTRY_SAME(memfd_create)	/* 340 */
> 	ENTRY_SAME(bpf)
> 	ENTRY_COMP(execveat)
> +	ENTRY_SAME(membarrier)
> 
> 
> .ifne (. - 90b) - (__NR_Linux_syscalls * (91b - 90b))
> --
> 1.9.1

-- 
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [RFC PATCH v2 5/9] alpha: allocate sys_membarrier system call number
  2015-09-07 16:15 ` [RFC PATCH v2 5/9] alpha: " Mathieu Desnoyers
@ 2015-09-16 15:17   ` Mathieu Desnoyers
  0 siblings, 0 replies; 29+ messages in thread
From: Mathieu Desnoyers @ 2015-09-16 15:17 UTC (permalink / raw)
  To: Richard Henderson, Ivan Kokshaysky, Matt Turner
  Cc: linux-kernel, linux-alpha, Andrew Morton, linux-api

----- On Sep 7, 2015, at 12:15 PM, Mathieu Desnoyers mathieu.desnoyers@efficios.com 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,

sys_membarrier has been merged into Linux 4.3-rc1. sys_membarrier can therefore
be tested on top of Linus' master.

Thanks,

Mathieu

> 
> Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
> CC: Andrew Morton <akpm@linux-foundation.org>
> CC: linux-api@vger.kernel.org
> CC: Richard Henderson <rth@twiddle.net>
> CC: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
> CC: Matt Turner <mattst88@gmail.com>
> CC: linux-alpha@vger.kernel.org
> ---
> arch/alpha/include/asm/unistd.h      | 2 +-
> arch/alpha/include/uapi/asm/unistd.h | 1 +
> arch/alpha/kernel/systbls.S          | 1 +
> 3 files changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/alpha/include/asm/unistd.h b/arch/alpha/include/asm/unistd.h
> index a56e608..07aa4ca 100644
> --- a/arch/alpha/include/asm/unistd.h
> +++ b/arch/alpha/include/asm/unistd.h
> @@ -3,7 +3,7 @@
> 
> #include <uapi/asm/unistd.h>
> 
> -#define NR_SYSCALLS			514
> +#define NR_SYSCALLS			515
> 
> #define __ARCH_WANT_OLD_READDIR
> #define __ARCH_WANT_STAT64
> diff --git a/arch/alpha/include/uapi/asm/unistd.h
> b/arch/alpha/include/uapi/asm/unistd.h
> index aa33bf5..7725619 100644
> --- a/arch/alpha/include/uapi/asm/unistd.h
> +++ b/arch/alpha/include/uapi/asm/unistd.h
> @@ -475,5 +475,6 @@
> #define __NR_getrandom			511
> #define __NR_memfd_create		512
> #define __NR_execveat			513
> +#define __NR_membarrier			514
> 
> #endif /* _UAPI_ALPHA_UNISTD_H */
> diff --git a/arch/alpha/kernel/systbls.S b/arch/alpha/kernel/systbls.S
> index 9b62e3f..1ea64f4 100644
> --- a/arch/alpha/kernel/systbls.S
> +++ b/arch/alpha/kernel/systbls.S
> @@ -532,6 +532,7 @@ sys_call_table:
> 	.quad sys_getrandom
> 	.quad sys_memfd_create
> 	.quad sys_execveat
> +	.quad sys_membarrier
> 
> 	.size sys_call_table, . - sys_call_table
> 	.type sys_call_table, @object
> --
> 1.9.1

-- 
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [RFC PATCH v2 7/9] arm64: allocate sys_membarrier system call number
  2015-09-07 16:15 ` [RFC PATCH v2 7/9] arm64: " Mathieu Desnoyers
@ 2015-09-16 15:18   ` Mathieu Desnoyers
  2015-09-16 16:35     ` Will Deacon
  0 siblings, 1 reply; 29+ messages in thread
From: Mathieu Desnoyers @ 2015-09-16 15:18 UTC (permalink / raw)
  To: Catalin Marinas, Will Deacon; +Cc: linux-kernel, Andrew Morton, linux-api

----- On Sep 7, 2015, at 12:15 PM, Mathieu Desnoyers mathieu.desnoyers@efficios.com wrote:

> arm64 sys_membarrier number is already wired for arm64 through
> asm-generic/unistd.h, but needs to be allocated separately for
> the 32-bit compability layer of arm64.
> 
> [ 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,

sys_membarrier has been merged into Linux 4.3-rc1. sys_membarrier can therefore
be tested on top of Linus' master.

Thanks,

Mathieu

> 
> Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
> CC: Andrew Morton <akpm@linux-foundation.org>
> CC: linux-api@vger.kernel.org
> CC: Catalin Marinas <catalin.marinas@arm.com>
> CC: Will Deacon <will.deacon@arm.com>
> ---
> arch/arm64/include/asm/unistd.h   | 2 +-
> arch/arm64/include/asm/unistd32.h | 2 ++
> 2 files changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/arm64/include/asm/unistd.h b/arch/arm64/include/asm/unistd.h
> index 3bc498c..e70f7e7 100644
> --- a/arch/arm64/include/asm/unistd.h
> +++ b/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		389
> #endif
> 
> #define __ARCH_WANT_SYS_CLONE
> diff --git a/arch/arm64/include/asm/unistd32.h
> b/arch/arm64/include/asm/unistd32.h
> index cef934a..d97be80 100644
> --- a/arch/arm64/include/asm/unistd32.h
> +++ b/arch/arm64/include/asm/unistd32.h
> @@ -797,3 +797,5 @@ __SYSCALL(__NR_memfd_create, sys_memfd_create)
> __SYSCALL(__NR_bpf, sys_bpf)
> #define __NR_execveat 387
> __SYSCALL(__NR_execveat, compat_sys_execveat)
> +#define __NR_membarrier 388
> +__SYSCALL(__NR_membarrier, sys_membarrier)
> --
> 1.9.1

-- 
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [RFC PATCH v2 8/9] ia64: allocate sys_membarrier system call number
  2015-09-07 16:15 ` [RFC PATCH v2 8/9] ia64: " Mathieu Desnoyers
@ 2015-09-16 15:19   ` Mathieu Desnoyers
  0 siblings, 0 replies; 29+ messages in thread
From: Mathieu Desnoyers @ 2015-09-16 15:19 UTC (permalink / raw)
  To: Tony Luck, Fenghua Yu, linux-ia64; +Cc: linux-kernel, Andrew Morton, linux-api

----- On Sep 7, 2015, at 12:15 PM, Mathieu Desnoyers mathieu.desnoyers@efficios.com 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,

sys_membarrier has been merged into Linux 4.3-rc1. It can therefore
be tested on top of Linus' master.

Thanks,

Mathieu

> 
> Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
> CC: Andrew Morton <akpm@linux-foundation.org>
> CC: linux-api@vger.kernel.org
> CC: Tony Luck <tony.luck@intel.com>
> CC: Fenghua Yu <fenghua.yu@intel.com>
> CC: linux-ia64@vger.kernel.org
> ---
> arch/ia64/include/asm/unistd.h      | 2 +-
> arch/ia64/include/uapi/asm/unistd.h | 1 +
> arch/ia64/kernel/entry.S            | 1 +
> 3 files changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/ia64/include/asm/unistd.h b/arch/ia64/include/asm/unistd.h
> index 95c39b9..1d54e17 100644
> --- a/arch/ia64/include/asm/unistd.h
> +++ b/arch/ia64/include/asm/unistd.h
> @@ -11,7 +11,7 @@
> 
> 
> 
> -#define NR_syscalls			319 /* length of syscall table */
> +#define NR_syscalls			320 /* length of syscall table */
> 
> /*
>  * The following defines stop scripts/checksyscalls.sh from complaining about
> diff --git a/arch/ia64/include/uapi/asm/unistd.h
> b/arch/ia64/include/uapi/asm/unistd.h
> index 4610795..b7aae55 100644
> --- a/arch/ia64/include/uapi/asm/unistd.h
> +++ b/arch/ia64/include/uapi/asm/unistd.h
> @@ -332,5 +332,6 @@
> #define __NR_memfd_create		1340
> #define __NR_bpf			1341
> #define __NR_execveat			1342
> +#define __NR_membarrier			1343
> 
> #endif /* _UAPI_ASM_IA64_UNISTD_H */
> diff --git a/arch/ia64/kernel/entry.S b/arch/ia64/kernel/entry.S
> index ae0de7b..1ce01f9 100644
> --- a/arch/ia64/kernel/entry.S
> +++ b/arch/ia64/kernel/entry.S
> @@ -1768,5 +1768,6 @@ sys_call_table:
> 	data8 sys_memfd_create			// 1340
> 	data8 sys_bpf
> 	data8 sys_execveat
> +	data8 sys_membarrier
> 
> 	.org sys_call_table + 8*NR_syscalls	// guard against failures to increase
> 	NR_syscalls
> --
> 1.9.1

-- 
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [RFC PATCH v2 9/9] s390/s390x: allocate sys_membarrier system call number
  2015-09-07 16:15 ` [RFC PATCH v2 9/9] s390/s390x: " Mathieu Desnoyers
@ 2015-09-16 15:20   ` Mathieu Desnoyers
  2015-09-17 11:39     ` Martin Schwidefsky
  0 siblings, 1 reply; 29+ messages in thread
From: Mathieu Desnoyers @ 2015-09-16 15:20 UTC (permalink / raw)
  To: schwidefsky, heiko carstens, linux-s390
  Cc: linux-kernel, Andrew Morton, linux-api

----- On Sep 7, 2015, at 12:15 PM, Mathieu Desnoyers mathieu.desnoyers@efficios.com 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,

sys_membarrier has been merged into Linux 4.3-rc1. It can therefore
be tested on top of Linus' master by applying this patch.

Thanks,

Mathieu

> 
> Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
> CC: Andrew Morton <akpm@linux-foundation.org>
> CC: linux-api@vger.kernel.org
> CC: Martin Schwidefsky <schwidefsky@de.ibm.com>
> CC: Heiko Carstens <heiko.carstens@de.ibm.com>
> CC: linux-s390@vger.kernel.org
> ---
> arch/s390/include/uapi/asm/unistd.h | 3 ++-
> arch/s390/kernel/syscalls.S         | 1 +
> 2 files changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/s390/include/uapi/asm/unistd.h
> b/arch/s390/include/uapi/asm/unistd.h
> index 59d2bb4..2f1de70 100644
> --- a/arch/s390/include/uapi/asm/unistd.h
> +++ b/arch/s390/include/uapi/asm/unistd.h
> @@ -290,7 +290,8 @@
> #define __NR_s390_pci_mmio_write	352
> #define __NR_s390_pci_mmio_read		353
> #define __NR_execveat		354
> -#define NR_syscalls 355
> +#define __NR_membarrier		355
> +#define NR_syscalls 356
> 
> /*
>  * There are some system calls that are not present on 64 bit, some
> diff --git a/arch/s390/kernel/syscalls.S b/arch/s390/kernel/syscalls.S
> index f3f4a13..914c098 100644
> --- a/arch/s390/kernel/syscalls.S
> +++ b/arch/s390/kernel/syscalls.S
> @@ -363,3 +363,4 @@ 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_membarrier,sys_membarrier)
> --
> 1.9.1

-- 
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [RFC PATCH v2 7/9] arm64: allocate sys_membarrier system call number
  2015-09-16 15:18   ` Mathieu Desnoyers
@ 2015-09-16 16:35     ` Will Deacon
  2015-09-16 16:38       ` Mathieu Desnoyers
  0 siblings, 1 reply; 29+ messages in thread
From: Will Deacon @ 2015-09-16 16:35 UTC (permalink / raw)
  To: Mathieu Desnoyers; +Cc: Catalin Marinas, linux-kernel, Andrew Morton, linux-api

Hi Mathieu,

On Wed, Sep 16, 2015 at 04:18:39PM +0100, Mathieu Desnoyers wrote:
> ----- On Sep 7, 2015, at 12:15 PM, Mathieu Desnoyers mathieu.desnoyers@efficios.com wrote:
> 
> > arm64 sys_membarrier number is already wired for arm64 through
> > asm-generic/unistd.h, but needs to be allocated separately for
> > the 32-bit compability layer of arm64.
> > 
> > [ 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. ]
> 
> sys_membarrier has been merged into Linux 4.3-rc1. sys_membarrier can therefore
> be tested on top of Linus' master.

Just to say that I'm happy to merge this once arch/arm/ also has the
syscall wired up. It'd be a bit weird to have the support in the arm64
compat layer but not the arch/arm/ native kernel!

Will

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [RFC PATCH v2 7/9] arm64: allocate sys_membarrier system call number
  2015-09-16 16:35     ` Will Deacon
@ 2015-09-16 16:38       ` Mathieu Desnoyers
  2015-09-16 16:39         ` Will Deacon
  0 siblings, 1 reply; 29+ messages in thread
From: Mathieu Desnoyers @ 2015-09-16 16:38 UTC (permalink / raw)
  To: Will Deacon; +Cc: Catalin Marinas, linux-kernel, Andrew Morton, linux-api

----- On Sep 16, 2015, at 12:35 PM, Will Deacon will.deacon@arm.com wrote:

> Hi Mathieu,
> 
> On Wed, Sep 16, 2015 at 04:18:39PM +0100, Mathieu Desnoyers wrote:
>> ----- On Sep 7, 2015, at 12:15 PM, Mathieu Desnoyers
>> mathieu.desnoyers@efficios.com wrote:
>> 
>> > arm64 sys_membarrier number is already wired for arm64 through
>> > asm-generic/unistd.h, but needs to be allocated separately for
>> > the 32-bit compability layer of arm64.
>> > 
>> > [ 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. ]
>> 
>> sys_membarrier has been merged into Linux 4.3-rc1. sys_membarrier can therefore
>> be tested on top of Linus' master.
> 
> Just to say that I'm happy to merge this once arch/arm/ also has the
> syscall wired up. It'd be a bit weird to have the support in the arm64
> compat layer but not the arch/arm/ native kernel!

Sounds good! We're currently testing sys_membarrier on a wandboard. We'll
provide feedback by replying to the ARM patch thread soon.

Thanks,

Mathieu

-- 
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [RFC PATCH v2 7/9] arm64: allocate sys_membarrier system call number
  2015-09-16 16:38       ` Mathieu Desnoyers
@ 2015-09-16 16:39         ` Will Deacon
  0 siblings, 0 replies; 29+ messages in thread
From: Will Deacon @ 2015-09-16 16:39 UTC (permalink / raw)
  To: Mathieu Desnoyers; +Cc: Catalin Marinas, linux-kernel, Andrew Morton, linux-api

On Wed, Sep 16, 2015 at 05:38:04PM +0100, Mathieu Desnoyers wrote:
> ----- On Sep 16, 2015, at 12:35 PM, Will Deacon will.deacon@arm.com wrote:
> 
> > Hi Mathieu,
> > 
> > On Wed, Sep 16, 2015 at 04:18:39PM +0100, Mathieu Desnoyers wrote:
> >> ----- On Sep 7, 2015, at 12:15 PM, Mathieu Desnoyers
> >> mathieu.desnoyers@efficios.com wrote:
> >> 
> >> > arm64 sys_membarrier number is already wired for arm64 through
> >> > asm-generic/unistd.h, but needs to be allocated separately for
> >> > the 32-bit compability layer of arm64.
> >> > 
> >> > [ 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. ]
> >> 
> >> sys_membarrier has been merged into Linux 4.3-rc1. sys_membarrier can therefore
> >> be tested on top of Linus' master.
> > 
> > Just to say that I'm happy to merge this once arch/arm/ also has the
> > syscall wired up. It'd be a bit weird to have the support in the arm64
> > compat layer but not the arch/arm/ native kernel!
> 
> Sounds good! We're currently testing sys_membarrier on a wandboard. We'll
> provide feedback by replying to the ARM patch thread soon.

Ok. I was about to kick the selftest on my Juno board (arm64).

Will

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH v2 3/9] sparc/sparc64: allocate sys_membarrier system call number
  2015-09-16 15:05   ` Mathieu Desnoyers
@ 2015-09-16 17:57     ` David Miller
  2015-09-16 18:06       ` Mathieu Desnoyers
  0 siblings, 1 reply; 29+ messages in thread
From: David Miller @ 2015-09-16 17:57 UTC (permalink / raw)
  To: mathieu.desnoyers; +Cc: linux-kernel, sparclinux, linux-api, akpm

From: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Date: Wed, 16 Sep 2015 15:05:54 +0000 (UTC)

> ----- On Sep 7, 2015, at 12:15 PM, Mathieu Desnoyers mathieu.desnoyers@efficios.com wrote:
> 
>> Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
>> Acked-by: "David S. Miller" <davem@davemloft.net>
>> CC: Andrew Morton <akpm@linux-foundation.org>
>> CC: linux-api@vger.kernel.org
>> CC: sparclinux@vger.kernel.org
> 
> Hi,
> 
> FYI, sys_membarrier has been merged upstream in Linux 4.3-rc1. Feel free
> to wire up this system call on sparc.

Since I ACK'd this patch which wires the system call up, it should
have been submitted by you directly.  That's the whole idea.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH v2 3/9] sparc/sparc64: allocate sys_membarrier system call number
  2015-09-16 17:57     ` David Miller
@ 2015-09-16 18:06       ` Mathieu Desnoyers
  0 siblings, 0 replies; 29+ messages in thread
From: Mathieu Desnoyers @ 2015-09-16 18:06 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, sparclinux, linux-api, David Miller

----- On Sep 16, 2015, at 1:57 PM, David Miller davem@davemloft.net wrote:

> From: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
> Date: Wed, 16 Sep 2015 15:05:54 +0000 (UTC)
> 
>> ----- On Sep 7, 2015, at 12:15 PM, Mathieu Desnoyers
>> mathieu.desnoyers@efficios.com wrote:
>> 
>>> Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
>>> Acked-by: "David S. Miller" <davem@davemloft.net>
>>> CC: Andrew Morton <akpm@linux-foundation.org>
>>> CC: linux-api@vger.kernel.org
>>> CC: sparclinux@vger.kernel.org
>> 
>> Hi,
>> 
>> FYI, sys_membarrier has been merged upstream in Linux 4.3-rc1. Feel free
>> to wire up this system call on sparc.
> 
> Since I ACK'd this patch which wires the system call up, it should
> have been submitted by you directly.  That's the whole idea.

OK, good to know. Other architecture maintainers chose to pick up the
system call wire-up patch themselves.

Andrew, can you pick up this patch please ?

Thanks,

Mathieu


-- 
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [RFC PATCH v2 6/9] arm: allocate sys_membarrier system call number
  2015-09-07 16:15 ` [RFC PATCH v2 6/9] arm: " Mathieu Desnoyers
@ 2015-09-16 18:27   ` Mathieu Desnoyers
  2015-09-17 13:13     ` Russell King - ARM Linux
  0 siblings, 1 reply; 29+ messages in thread
From: Mathieu Desnoyers @ 2015-09-16 18:27 UTC (permalink / raw)
  To: Russell King; +Cc: linux-kernel, Andrew Morton, linux-api, Michael Jeanson

----- On Sep 7, 2015, at 12:15 PM, Mathieu Desnoyers mathieu.desnoyers@efficios.com 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@efficios.com>

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

Thanks!

Mathieu


> 
> Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
> CC: Andrew Morton <akpm@linux-foundation.org>
> CC: linux-api@vger.kernel.org
> CC: Russell King <linux@arm.linux.org.uk>
> ---
> 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

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH v2 4/9] parisc: allocate sys_membarrier system call number
  2015-09-16 15:07   ` Mathieu Desnoyers
@ 2015-09-16 19:56     ` Helge Deller
  0 siblings, 0 replies; 29+ messages in thread
From: Helge Deller @ 2015-09-16 19:56 UTC (permalink / raw)
  To: Mathieu Desnoyers, James E.J. Bottomley
  Cc: linux-kernel, linux-parisc, Andrew Morton, linux-api

On 16.09.2015 17:07, Mathieu Desnoyers wrote:
> ----- On Sep 7, 2015, at 12:15 PM, Mathieu Desnoyers mathieu.desnoyers@efficios.com wrote:
> 
>> Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
>> Tested-by: Helge Deller <deller@gmx.de>
>> CC: Andrew Morton <akpm@linux-foundation.org>
>> CC: linux-api@vger.kernel.org
>> CC: "James E.J. Bottomley" <jejb@parisc-linux.org>
>> CC: linux-parisc@vger.kernel.org
> 
> Hi,
> 
> FYI, sys_membarrier has been pulled into Linux 4.3-rc1. Please
> feel free to wire it up on parisc.

Thanks for the notice.
I'll include your patch with an upcoming parisc pull-request later in the 4.3 cycle.

Helge


>> ---
>> arch/parisc/include/uapi/asm/unistd.h | 3 ++-
>> arch/parisc/kernel/syscall_table.S    | 1 +
>> 2 files changed, 3 insertions(+), 1 deletion(-)
>>
>> diff --git a/arch/parisc/include/uapi/asm/unistd.h
>> b/arch/parisc/include/uapi/asm/unistd.h
>> index 2e639d7..dadcada 100644
>> --- a/arch/parisc/include/uapi/asm/unistd.h
>> +++ b/arch/parisc/include/uapi/asm/unistd.h
>> @@ -358,8 +358,9 @@
>> #define __NR_memfd_create	(__NR_Linux + 340)
>> #define __NR_bpf		(__NR_Linux + 341)
>> #define __NR_execveat		(__NR_Linux + 342)
>> +#define __NR_membarrier		(__NR_Linux + 343)
>>
>> -#define __NR_Linux_syscalls	(__NR_execveat + 1)
>> +#define __NR_Linux_syscalls	(__NR_membarrier + 1)
>>
>>
>> #define __IGNORE_select		/* newselect */
>> diff --git a/arch/parisc/kernel/syscall_table.S
>> b/arch/parisc/kernel/syscall_table.S
>> index 8eefb12..4e77991 100644
>> --- a/arch/parisc/kernel/syscall_table.S
>> +++ b/arch/parisc/kernel/syscall_table.S
>> @@ -438,6 +438,7 @@
>> 	ENTRY_SAME(memfd_create)	/* 340 */
>> 	ENTRY_SAME(bpf)
>> 	ENTRY_COMP(execveat)
>> +	ENTRY_SAME(membarrier)
>>
>>
>> .ifne (. - 90b) - (__NR_Linux_syscalls * (91b - 90b))
>> --
>> 1.9.1
> 


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [RFC PATCH v2 9/9] s390/s390x: allocate sys_membarrier system call number
  2015-09-16 15:20   ` Mathieu Desnoyers
@ 2015-09-17 11:39     ` Martin Schwidefsky
  0 siblings, 0 replies; 29+ messages in thread
From: Martin Schwidefsky @ 2015-09-17 11:39 UTC (permalink / raw)
  To: Mathieu Desnoyers
  Cc: heiko carstens, linux-s390, linux-kernel, Andrew Morton, linux-api

On Wed, 16 Sep 2015 15:20:05 +0000 (UTC)
Mathieu Desnoyers <mathieu.desnoyers@efficios.com> wrote:

> ----- On Sep 7, 2015, at 12:15 PM, Mathieu Desnoyers mathieu.desnoyers@efficios.com 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,
> 
> sys_membarrier has been merged into Linux 4.3-rc1. It can therefore
> be tested on top of Linus' master by applying this patch.

Successfully tested with todays Linus' master, membarrier_test has passed.
Patch applied to linux-s390 but with a different system call number.
#355 is already taken by sys_userfaultfd, the new one for membarrier is #356.

-- 
blue skies,
   Martin.

"Reality continues to ruin my life." - Calvin.


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [RFC PATCH v2 6/9] arm: allocate sys_membarrier system call number
  2015-09-16 18:27   ` Mathieu Desnoyers
@ 2015-09-17 13:13     ` Russell King - ARM Linux
  2015-09-17 13:37       ` Mathieu Desnoyers
  0 siblings, 1 reply; 29+ messages in thread
From: Russell King - ARM Linux @ 2015-09-17 13:13 UTC (permalink / raw)
  To: Mathieu Desnoyers; +Cc: linux-kernel, Andrew Morton, linux-api, Michael Jeanson

On Wed, Sep 16, 2015 at 06:27:10PM +0000, Mathieu Desnoyers wrote:
> ----- On Sep 7, 2015, at 12:15 PM, Mathieu Desnoyers mathieu.desnoyers@efficios.com 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@efficios.com>
> 
> sys_membarrier has been pulled into Linux 4.3-rc1. Please
> feel free to wire it up on ARM.

Well, it's not going to end up with 388, but 389, because we also have
userfaultfd added in the same merge window, and I follow the x86
syscall ordering when adding to ARM.

-- 
FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up
according to speedtest.net.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [RFC PATCH v2 6/9] arm: allocate sys_membarrier system call number
  2015-09-17 13:13     ` Russell King - ARM Linux
@ 2015-09-17 13:37       ` Mathieu Desnoyers
  2015-09-17 13:49         ` Russell King - ARM Linux
  0 siblings, 1 reply; 29+ messages in thread
From: Mathieu Desnoyers @ 2015-09-17 13:37 UTC (permalink / raw)
  To: Russell King - ARM Linux
  Cc: linux-kernel, Andrew Morton, linux-api, Michael Jeanson

----- On Sep 17, 2015, at 9:13 AM, Russell King - ARM Linux linux@arm.linux.org.uk wrote:

> On Wed, Sep 16, 2015 at 06:27:10PM +0000, Mathieu Desnoyers wrote:
>> ----- On Sep 7, 2015, at 12:15 PM, Mathieu Desnoyers
>> mathieu.desnoyers@efficios.com 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@efficios.com>
>> 
>> sys_membarrier has been pulled into Linux 4.3-rc1. Please
>> feel free to wire it up on ARM.
> 
> Well, it's not going to end up with 388, but 389, because we also have
> userfaultfd added in the same merge window, and I follow the x86
> syscall ordering when adding to ARM.

That's fine with me!

Thanks,

Mathieu

> 
> --
> FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up
> according to speedtest.net.

-- 
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [RFC PATCH v2 6/9] arm: allocate sys_membarrier system call number
  2015-09-17 13:37       ` Mathieu Desnoyers
@ 2015-09-17 13:49         ` Russell King - ARM Linux
  0 siblings, 0 replies; 29+ messages in thread
From: Russell King - ARM Linux @ 2015-09-17 13:49 UTC (permalink / raw)
  To: Mathieu Desnoyers; +Cc: linux-kernel, Andrew Morton, linux-api, Michael Jeanson

On Thu, Sep 17, 2015 at 01:37:53PM +0000, Mathieu Desnoyers wrote:
> ----- On Sep 17, 2015, at 9:13 AM, Russell King - ARM Linux linux@arm.linux.org.uk wrote:
> 
> > On Wed, Sep 16, 2015 at 06:27:10PM +0000, Mathieu Desnoyers wrote:
> >> ----- On Sep 7, 2015, at 12:15 PM, Mathieu Desnoyers
> >> mathieu.desnoyers@efficios.com 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@efficios.com>
> >> 
> >> sys_membarrier has been pulled into Linux 4.3-rc1. Please
> >> feel free to wire it up on ARM.
> > 
> > Well, it's not going to end up with 388, but 389, because we also have
> > userfaultfd added in the same merge window, and I follow the x86
> > syscall ordering when adding to ARM.
> 
> That's fine with me!

I'll also merge my patch after -rc2's out, so expect it to appear in
linux-next next week.

-- 
FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up
according to speedtest.net.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH v2 2/9] mips: allocate sys_membarrier system call number
  2015-09-16 15:04   ` Mathieu Desnoyers
@ 2015-09-28 17:12     ` Mathieu Desnoyers
  0 siblings, 0 replies; 29+ messages in thread
From: Mathieu Desnoyers @ 2015-09-28 17:12 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, linux-mips, linux-api, Ralf Baechle

----- On Sep 16, 2015, at 11:04 AM, Mathieu Desnoyers mathieu.desnoyers@efficios.com wrote:
>> Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
>> Acked-by: Ralf Baechle <ralf@linux-mips.org>

[...]

Hi Andrew,

Since I got the Acked-by from Ralf, my understanding is that he
expects that you can pick up this patch through your tree. Please let
me know if I need to do anything more. It's the same story for
sparc/sparc64.

Thanks!

Mathieu

-- 
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com

^ permalink raw reply	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2015-09-28 17:12 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-09-07 16:15 [PATCH v2 0/9] Allocate sys_membarrier on main architectures Mathieu Desnoyers
2015-09-07 16:15 ` [PATCH v2 1/9] [picked] powerpc: allocate sys_membarrier system call number Mathieu Desnoyers
2015-09-07 16:15 ` [PATCH v2 2/9] mips: " Mathieu Desnoyers
2015-09-16 15:04   ` Mathieu Desnoyers
2015-09-28 17:12     ` Mathieu Desnoyers
2015-09-07 16:15 ` [PATCH v2 3/9] sparc/sparc64: " Mathieu Desnoyers
2015-09-16 15:05   ` Mathieu Desnoyers
2015-09-16 17:57     ` David Miller
2015-09-16 18:06       ` Mathieu Desnoyers
2015-09-07 16:15 ` [PATCH v2 4/9] parisc: " Mathieu Desnoyers
2015-09-16 15:07   ` Mathieu Desnoyers
2015-09-16 19:56     ` Helge Deller
2015-09-07 16:15 ` [RFC PATCH v2 5/9] alpha: " Mathieu Desnoyers
2015-09-16 15:17   ` Mathieu Desnoyers
2015-09-07 16:15 ` [RFC PATCH v2 6/9] arm: " Mathieu Desnoyers
2015-09-16 18:27   ` Mathieu Desnoyers
2015-09-17 13:13     ` Russell King - ARM Linux
2015-09-17 13:37       ` Mathieu Desnoyers
2015-09-17 13:49         ` Russell King - ARM Linux
2015-09-07 16:15 ` [RFC PATCH v2 7/9] arm64: " Mathieu Desnoyers
2015-09-16 15:18   ` Mathieu Desnoyers
2015-09-16 16:35     ` Will Deacon
2015-09-16 16:38       ` Mathieu Desnoyers
2015-09-16 16:39         ` Will Deacon
2015-09-07 16:15 ` [RFC PATCH v2 8/9] ia64: " Mathieu Desnoyers
2015-09-16 15:19   ` Mathieu Desnoyers
2015-09-07 16:15 ` [RFC PATCH v2 9/9] s390/s390x: " Mathieu Desnoyers
2015-09-16 15:20   ` Mathieu Desnoyers
2015-09-17 11:39     ` Martin Schwidefsky

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).