Re: [RFC PATCH 9/9] parisc: allocate sys_membarrier system call number

Helge Deller
2015-09-03T12:26:20Z

Hi Mathieu,

> [ 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: "James E.J. Bottomley" <jejb@parisc-linux.org>
> CC: Helge Deller <deller@gmx.de>
> 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..2faa43b 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_COMP(membarrier)

This needs to be ENTRY_SAME(membarrier), since you don't have/need a compat_membarrier() function.

After changing to ENTRY_SAME() I did run the kselftest on parisc:
deller@ls3xx> ./membarrier_test
membarrier MEMBARRIER_CMD_QUERY syscall available.
membarrier: MEMBARRIER_CMD_SHARED success.
membarrier: tests done!

Helge