[RFC PATCH for 4.18 13/23] x86: Wire up cpu_opv system call

2018-04-12 Thread Mathieu Desnoyers
Signed-off-by: Mathieu Desnoyers <mathieu.desnoy...@efficios.com> CC: "Paul E. McKenney" <paul...@linux.vnet.ibm.com> CC: Peter Zijlstra <pet...@infradead.org> CC: Paul Turner <p...@google.com> CC: Thomas Gleixner <t...@linutronix.de> CC: Andrew Hunter

[RFC PATCH for 4.18 21/23] rseq: selftests: Provide basic percpu ops test

2018-04-12 Thread Mathieu Desnoyers
"basic_percpu_ops_test" is a slightly more "realistic" variant, implementing a few simple per-cpu operations and testing their correctness. Signed-off-by: Mathieu Desnoyers CC: Shuah Khan CC: Russell King CC: Catalin Marinas CC: Will Deacon CC: Thomas Gleixner CC: Pau

[RFC PATCH for 4.18 13/23] x86: Wire up cpu_opv system call

2018-04-12 Thread Mathieu Desnoyers
Signed-off-by: Mathieu Desnoyers CC: "Paul E. McKenney" CC: Peter Zijlstra CC: Paul Turner CC: Thomas Gleixner CC: Andrew Hunter CC: Andy Lutomirski CC: Andi Kleen CC: Dave Watson CC: Chris Lameter CC: Ingo Molnar CC: "H. Peter Anvin" CC: Ben Maurer CC: Stev

[RFC PATCH for 4.18 02/23] rseq: Introduce restartable sequences system call (v13)

2018-04-12 Thread Mathieu Desnoyers
0.st...@pjt-glaptop.roam.corp.google.com Link: http://lkml.kernel.org/r/20150624222609.6116.86035.st...@kitami.mtv.corp.google.com Signed-off-by: Mathieu Desnoyers <mathieu.desnoy...@efficios.com> CC: Thomas Gleixner <t...@linutronix.de> CC: Paul Turner <p...@google.com> C

[RFC PATCH for 4.18 02/23] rseq: Introduce restartable sequences system call (v13)

2018-04-12 Thread Mathieu Desnoyers
0.st...@pjt-glaptop.roam.corp.google.com Link: http://lkml.kernel.org/r/20150624222609.6116.86035.st...@kitami.mtv.corp.google.com Signed-off-by: Mathieu Desnoyers CC: Thomas Gleixner CC: Paul Turner CC: Andrew Hunter CC: Peter Zijlstra CC: Andy Lutomirski CC: Andi Kleen CC: Dave Watson CC

[RFC PATCH for 4.18 04/23] arm: Wire up restartable sequences system call

2018-04-12 Thread Mathieu Desnoyers
. TODO: wire up rseq_syscall() on return from system call. It is used with CONFIG_DEBUG_RSEQ=y to ensure system calls are not issued within rseq critical section Signed-off-by: Mathieu Desnoyers <mathieu.desnoy...@efficios.com> CC: Russell King <li...@arm.linux.org.uk> CC: Cat

[RFC PATCH for 4.18 04/23] arm: Wire up restartable sequences system call

2018-04-12 Thread Mathieu Desnoyers
. TODO: wire up rseq_syscall() on return from system call. It is used with CONFIG_DEBUG_RSEQ=y to ensure system calls are not issued within rseq critical section Signed-off-by: Mathieu Desnoyers CC: Russell King CC: Catalin Marinas CC: Will Deacon CC: Thomas Gleixner CC: Paul Turner CC

[RFC PATCH for 4.18 00/23] Restartable sequences and CPU op vector

2018-04-12 Thread Mathieu Desnoyers
(2): powerpc: Add support for restartable sequences powerpc: Wire up restartable sequences system call Mathieu Desnoyers (21): uapi headers: Provide types_32_64.h (v2) rseq: Introduce restartable sequences system call (v13) arm: Add restartable sequences support arm: Wire up

[RFC PATCH for 4.18 00/23] Restartable sequences and CPU op vector

2018-04-12 Thread Mathieu Desnoyers
(2): powerpc: Add support for restartable sequences powerpc: Wire up restartable sequences system call Mathieu Desnoyers (21): uapi headers: Provide types_32_64.h (v2) rseq: Introduce restartable sequences system call (v13) arm: Add restartable sequences support arm: Wire up

[RFC PATCH for 4.18 07/23] powerpc: Add support for restartable sequences

2018-04-12 Thread Mathieu Desnoyers
t;boqun.f...@gmail.com> Signed-off-by: Mathieu Desnoyers <mathieu.desnoy...@efficios.com> CC: Benjamin Herrenschmidt <b...@kernel.crashing.org> CC: Paul Mackerras <pau...@samba.org> CC: Michael Ellerman <m...@ellerman.id.au> CC: Peter Zijlstra <pet...@infr

[RFC PATCH for 4.18 07/23] powerpc: Add support for restartable sequences

2018-04-12 Thread Mathieu Desnoyers
From: Boqun Feng Call the rseq_handle_notify_resume() function on return to userspace if TIF_NOTIFY_RESUME thread flag is set. Perform fixup on the pre-signal when a signal is delivered on top of a restartable sequence critical section. Signed-off-by: Boqun Feng Signed-off-by: Mathieu

[RFC PATCH for 4.18 23/23] rseq: selftests: Provide Makefile, scripts, gitignore

2018-04-12 Thread Mathieu Desnoyers
A run_param_test.sh script runs many variants of the parametrizable tests. Wire up the rseq Makefile, add directory entry into MAINTAINERS file. Signed-off-by: Mathieu Desnoyers <mathieu.desnoy...@efficios.com> CC: Shuah Khan <shua...@osg.samsung.com> CC: Russell King <li...@arm.l

[RFC PATCH for 4.18 11/23] mm: Provide is_vma_noncached

2018-04-12 Thread Mathieu Desnoyers
Provide is_vma_noncached() static inline to allow generic code to check whether the given vma consists of noncached memory. Signed-off-by: Mathieu Desnoyers <mathieu.desnoy...@efficios.com> CC: "Paul E. McKenney" <paul...@linux.vnet.ibm.com> CC: Peter Zijlstra <pet..

[RFC PATCH for 4.18 05/23] x86: Add support for restartable sequences (v2)

2018-04-12 Thread Mathieu Desnoyers
sections by invoking rseq_signal() from syscall_return_slowpath(). With CONFIG_DEBUG_RSEQ, such behavior results in termination of the process with SIGSEGV. Signed-off-by: Mathieu Desnoyers <mathieu.desnoy...@efficios.com> Reviewed-by: Thomas Gleixner <t...@linutronix.de> CC: Russ

[RFC PATCH for 4.18 23/23] rseq: selftests: Provide Makefile, scripts, gitignore

2018-04-12 Thread Mathieu Desnoyers
A run_param_test.sh script runs many variants of the parametrizable tests. Wire up the rseq Makefile, add directory entry into MAINTAINERS file. Signed-off-by: Mathieu Desnoyers CC: Shuah Khan CC: Russell King CC: Catalin Marinas CC: Will Deacon CC: Thomas Gleixner CC: Paul Turner CC

[RFC PATCH for 4.18 11/23] mm: Provide is_vma_noncached

2018-04-12 Thread Mathieu Desnoyers
Provide is_vma_noncached() static inline to allow generic code to check whether the given vma consists of noncached memory. Signed-off-by: Mathieu Desnoyers CC: "Paul E. McKenney" CC: Peter Zijlstra CC: Paul Turner CC: Thomas Gleixner CC: Andrew Hunter CC: Andy Lutomirski CC:

[RFC PATCH for 4.18 05/23] x86: Add support for restartable sequences (v2)

2018-04-12 Thread Mathieu Desnoyers
sections by invoking rseq_signal() from syscall_return_slowpath(). With CONFIG_DEBUG_RSEQ, such behavior results in termination of the process with SIGSEGV. Signed-off-by: Mathieu Desnoyers Reviewed-by: Thomas Gleixner CC: Russell King CC: Catalin Marinas CC: Will Deacon CC: Paul Turner CC

[RFC PATCH for 4.18 10/23] mm: Introduce vm_map_user_ram, vm_unmap_user_ram

2018-04-12 Thread Mathieu Desnoyers
and userspace mappings for virtually aliased architectures. Signed-off-by: Mathieu Desnoyers <mathieu.desnoy...@efficios.com> Reviewed-by: Matthew Wilcox <mawil...@microsoft.com> CC: "Paul E. McKenney" <paul...@linux.vnet.ibm.com> CC: Peter Zijlstra <pet...@infradead.org> CC

[RFC PATCH for 4.18 10/23] mm: Introduce vm_map_user_ram, vm_unmap_user_ram

2018-04-12 Thread Mathieu Desnoyers
and userspace mappings for virtually aliased architectures. Signed-off-by: Mathieu Desnoyers Reviewed-by: Matthew Wilcox CC: "Paul E. McKenney" CC: Peter Zijlstra CC: Paul Turner CC: Thomas Gleixner CC: Andrew Hunter CC: Andy Lutomirski CC: Andi Kleen CC: Dave Watson CC: Chris Lameter

[RFC PATCH for 4.18 09/23] sched: Implement push_task_to_cpu (v2)

2018-04-12 Thread Mathieu Desnoyers
executes. Code invoking push_task_to_cpu() must be prepared to retry in that case. Signed-off-by: Mathieu Desnoyers <mathieu.desnoy...@efficios.com> CC: "Paul E. McKenney" <paul...@linux.vnet.ibm.com> CC: Peter Zijlstra <pet...@infradead.org> CC: Paul Turner <p...@goo

[RFC PATCH for 4.18 20/23] rseq: selftests: Provide basic test

2018-04-12 Thread Mathieu Desnoyers
"basic_test" only asserts that RSEQ works moderately correctly. E.g. that the CPUID pointer works. Signed-off-by: Mathieu Desnoyers <mathieu.desnoy...@efficios.com> CC: Shuah Khan <shua...@osg.samsung.com> CC: Russell King <li...@arm.linux.org.uk> CC: Catalin Marinas

[RFC PATCH for 4.18 09/23] sched: Implement push_task_to_cpu (v2)

2018-04-12 Thread Mathieu Desnoyers
executes. Code invoking push_task_to_cpu() must be prepared to retry in that case. Signed-off-by: Mathieu Desnoyers CC: "Paul E. McKenney" CC: Peter Zijlstra CC: Paul Turner CC: Thomas Gleixner CC: Andrew Hunter CC: Andy Lutomirski CC: Andi Kleen CC: Dave Watson CC: Chris Lameter

[RFC PATCH for 4.18 20/23] rseq: selftests: Provide basic test

2018-04-12 Thread Mathieu Desnoyers
"basic_test" only asserts that RSEQ works moderately correctly. E.g. that the CPUID pointer works. Signed-off-by: Mathieu Desnoyers CC: Shuah Khan CC: Russell King CC: Catalin Marinas CC: Will Deacon CC: Thomas Gleixner CC: Paul Turner CC: Andrew Hunter CC: Peter Zijlstra

[RFC PATCH for 4.18 08/23] powerpc: Wire up restartable sequences system call

2018-04-12 Thread Mathieu Desnoyers
u data compared to using load-reservation/store-conditional atomics. TODO: wire up rseq_syscall() on return from system call. It is used with CONFIG_DEBUG_RSEQ=y to ensure system calls are not issued within rseq critical section Signed-off-by: Boqun Feng <boqun.f...@gmail.com> Signed-off-by: Mathi

[RFC PATCH for 4.18 08/23] powerpc: Wire up restartable sequences system call

2018-04-12 Thread Mathieu Desnoyers
-reservation/store-conditional atomics. TODO: wire up rseq_syscall() on return from system call. It is used with CONFIG_DEBUG_RSEQ=y to ensure system calls are not issued within rseq critical section Signed-off-by: Boqun Feng Signed-off-by: Mathieu Desnoyers CC: Benjamin Herrenschmidt CC: Paul

[RFC PATCH for 4.18 01/23] uapi headers: Provide types_32_64.h (v2)

2018-04-12 Thread Mathieu Desnoyers
. The order of padding and 32-bit integer depends on the endianness. Signed-off-by: Mathieu Desnoyers <mathieu.desnoy...@efficios.com> CC: "Paul E. McKenney" <paul...@linux.vnet.ibm.com> CC: Peter Zijlstra <pet...@infradead.org> CC: Paul Turner <p...@google.com> CC: T

[RFC PATCH for 4.18 01/23] uapi headers: Provide types_32_64.h (v2)

2018-04-12 Thread Mathieu Desnoyers
. The order of padding and 32-bit integer depends on the endianness. Signed-off-by: Mathieu Desnoyers CC: "Paul E. McKenney" CC: Peter Zijlstra CC: Paul Turner CC: Thomas Gleixner CC: Andrew Hunter CC: Andy Lutomirski CC: Andi Kleen CC: Dave Watson CC: Chris Lameter CC: Ingo Moln

[RFC PATCH for 4.18 12/23] cpu_opv: Provide cpu_opv system call (v7)

2018-04-12 Thread Mathieu Desnoyers
cpu_opv system call will ensure the commit can be performed on the right CPU by migrating the task to that CPU. On the consumer side, an alternative to using store-release and load-acquire on the commit counter would be to use cpu_opv to ensure the commit counter load is performed on the right CP

[RFC PATCH for 4.18 12/23] cpu_opv: Provide cpu_opv system call (v7)

2018-04-12 Thread Mathieu Desnoyers
cpu_opv system call will ensure the commit can be performed on the right CPU by migrating the task to that CPU. On the consumer side, an alternative to using store-release and load-acquire on the commit counter would be to use cpu_opv to ensure the commit counter load is performed on the right CPU.

[RFC PATCH for 4.18 16/23] selftests: lib.mk: Introduce OVERRIDE_TARGETS

2018-04-12 Thread Mathieu Desnoyers
Introduce OVERRIDE_TARGETS to allow tests to express dependencies on header files and .so, which require to override the selftests lib.mk targets. Signed-off-by: Mathieu Desnoyers <mathieu.desnoy...@efficios.com> Acked-by: Shuah Khan <shua...@osg.samsung.com> CC: Russ

[RFC PATCH for 4.18 16/23] selftests: lib.mk: Introduce OVERRIDE_TARGETS

2018-04-12 Thread Mathieu Desnoyers
Introduce OVERRIDE_TARGETS to allow tests to express dependencies on header files and .so, which require to override the selftests lib.mk targets. Signed-off-by: Mathieu Desnoyers Acked-by: Shuah Khan CC: Russell King CC: Catalin Marinas CC: Will Deacon CC: Thomas Gleixner CC: Paul Turner

[RFC PATCH for 4.18 19/23] rseq: selftests: Provide percpu_op API

2018-04-12 Thread Mathieu Desnoyers
= rseq_cpu_start(); ret = percpu_addv(>c[cpu].count, 1, cpu); if (unlikely(ret)) { perror("percpu_addv"); return -1; } return 0; Signed-off-by: Mathieu Desnoyers <mathieu.desnoy...@efficios.com> CC: Shuah Khan <shua...@osg.samsung.com> CC: Russell Kin

[RFC PATCH for 4.18 19/23] rseq: selftests: Provide percpu_op API

2018-04-12 Thread Mathieu Desnoyers
= rseq_cpu_start(); ret = percpu_addv(>c[cpu].count, 1, cpu); if (unlikely(ret)) { perror("percpu_addv"); return -1; } return 0; Signed-off-by: Mathieu Desnoyers CC: Shuah Khan CC: Russell King CC: Catalin Marinas CC: Will Deacon CC: Thomas Gleixner CC: Pa

[RFC PATCH for 4.18 17/23] cpu_opv: selftests: Implement selftests (v7)

2018-04-12 Thread Mathieu Desnoyers
Implement cpu_opv selftests. It needs to express dependencies on header files and .so, which require to override the selftests lib.mk targets. Use OVERRIDE_TARGETS define for this. Signed-off-by: Mathieu Desnoyers <mathieu.desnoy...@efficios.com> Acked-by: Shuah Khan <shua...@osg.samsun

[RFC PATCH for 4.18 17/23] cpu_opv: selftests: Implement selftests (v7)

2018-04-12 Thread Mathieu Desnoyers
Implement cpu_opv selftests. It needs to express dependencies on header files and .so, which require to override the selftests lib.mk targets. Use OVERRIDE_TARGETS define for this. Signed-off-by: Mathieu Desnoyers Acked-by: Shuah Khan CC: Russell King CC: Catalin Marinas CC: Will Deacon CC

[RFC PATCH for 4.18 22/23] rseq: selftests: Provide parametrized tests

2018-04-12 Thread Mathieu Desnoyers
cond comparisons fails, an error message is printed and the test aborts. Signed-off-by: Mathieu Desnoyers <mathieu.desnoy...@efficios.com> CC: Shuah Khan <shua...@osg.samsung.com> CC: Russell King <li...@arm.linux.org.uk> CC: Catalin Marinas <catalin.mari...@arm.com> CC: Wil

[RFC PATCH for 4.18 22/23] rseq: selftests: Provide parametrized tests

2018-04-12 Thread Mathieu Desnoyers
cond comparisons fails, an error message is printed and the test aborts. Signed-off-by: Mathieu Desnoyers CC: Shuah Khan CC: Russell King CC: Catalin Marinas CC: Will Deacon CC: Thomas Gleixner CC: Paul Turner CC: Andrew Hunter CC: Peter Zijlstra CC: Andy Lutomirski CC: Andi Kleen CC

Re: [PATCH manpages] membarrier.2: New membarrier commands introduced in 4.16

2018-04-12 Thread Mathieu Desnoyers
s. I've reviewed the result and it is all good. Mathieu -- Mathieu Desnoyers EfficiOS Inc. http://www.efficios.com

Re: [PATCH manpages] membarrier.2: New membarrier commands introduced in 4.16

2018-04-12 Thread Mathieu Desnoyers
s. I've reviewed the result and it is all good. Mathieu -- Mathieu Desnoyers EfficiOS Inc. http://www.efficios.com

Re: [RFC PATCH for 4.17 02/21] rseq: Introduce restartable sequences system call (v12)

2018-04-03 Thread Mathieu Desnoyers
- On Apr 3, 2018, at 12:36 PM, Mathieu Desnoyers mathieu.desnoy...@efficios.com wrote: > - On Apr 2, 2018, at 11:33 AM, Mathieu Desnoyers > mathieu.desnoy...@efficios.com wrote: > >> - On Apr 1, 2018, at 12:13 PM, One Thousand Gnomes >> gno...@lxor

Re: [RFC PATCH for 4.17 02/21] rseq: Introduce restartable sequences system call (v12)

2018-04-03 Thread Mathieu Desnoyers
- On Apr 3, 2018, at 12:36 PM, Mathieu Desnoyers mathieu.desnoy...@efficios.com wrote: > - On Apr 2, 2018, at 11:33 AM, Mathieu Desnoyers > mathieu.desnoy...@efficios.com wrote: > >> - On Apr 1, 2018, at 12:13 PM, One Thousand Gnomes >> gno...@lxor

Re: [RFC PATCH for 4.17 02/21] rseq: Introduce restartable sequences system call (v12)

2018-04-03 Thread Mathieu Desnoyers
- On Apr 2, 2018, at 11:33 AM, Mathieu Desnoyers mathieu.desnoy...@efficios.com wrote: > - On Apr 1, 2018, at 12:13 PM, One Thousand Gnomes > gno...@lxorguk.ukuu.org.uk wrote: > >> On Tue, 27 Mar 2018 12:05:23 -0400 >> Mathieu Desnoyers <mathieu.desno

Re: [RFC PATCH for 4.17 02/21] rseq: Introduce restartable sequences system call (v12)

2018-04-03 Thread Mathieu Desnoyers
- On Apr 2, 2018, at 11:33 AM, Mathieu Desnoyers mathieu.desnoy...@efficios.com wrote: > - On Apr 1, 2018, at 12:13 PM, One Thousand Gnomes > gno...@lxorguk.ukuu.org.uk wrote: > >> On Tue, 27 Mar 2018 12:05:23 -0400 >> Mathieu Desnoyers wrote: >> >>&g

Re: [RFC PATCH for 4.17 02/21] rseq: Introduce restartable sequences system call (v12)

2018-04-02 Thread Mathieu Desnoyers
- On Apr 1, 2018, at 12:13 PM, One Thousand Gnomes gno...@lxorguk.ukuu.org.uk wrote: > On Tue, 27 Mar 2018 12:05:23 -0400 > Mathieu Desnoyers <mathieu.desnoy...@efficios.com> wrote: > >> Expose a new system call allowing each thread to register one userspace >

Re: [RFC PATCH for 4.17 02/21] rseq: Introduce restartable sequences system call (v12)

2018-04-02 Thread Mathieu Desnoyers
- On Apr 1, 2018, at 12:13 PM, One Thousand Gnomes gno...@lxorguk.ukuu.org.uk wrote: > On Tue, 27 Mar 2018 12:05:23 -0400 > Mathieu Desnoyers wrote: > >> Expose a new system call allowing each thread to register one userspace >> memory area to be used as an ABI be

Re: [RFC PATCH for 4.17 02/21] rseq: Introduce restartable sequences system call (v12)

2018-03-29 Thread Mathieu Desnoyers
- On Mar 29, 2018, at 12:24 PM, rostedt rost...@goodmis.org wrote: > On Thu, 29 Mar 2018 11:39:00 -0400 (EDT) > Mathieu Desnoyers <mathieu.desnoy...@efficios.com> wrote: > >> Enforcing SIGSEGV on syscall entry when nested in a rseq critical section >> wil

Re: [RFC PATCH for 4.17 02/21] rseq: Introduce restartable sequences system call (v12)

2018-03-29 Thread Mathieu Desnoyers
- On Mar 29, 2018, at 12:24 PM, rostedt rost...@goodmis.org wrote: > On Thu, 29 Mar 2018 11:39:00 -0400 (EDT) > Mathieu Desnoyers wrote: > >> Enforcing SIGSEGV on syscall entry when nested in a rseq critical section >> will not be free both in terms of syscall overhead,

Re: [RFC PATCH for 4.17 02/21] rseq: Introduce restartable sequences system call (v12)

2018-03-29 Thread Mathieu Desnoyers
- On Mar 29, 2018, at 2:07 PM, rostedt rost...@goodmis.org wrote: > On Thu, 29 Mar 2018 14:02:33 -0400 (EDT) > Mathieu Desnoyers <mathieu.desnoy...@efficios.com> wrote: > >> Currently, anyone using ptrace on a process has pretty much given up all >> hopes of perf

Re: [RFC PATCH for 4.17 02/21] rseq: Introduce restartable sequences system call (v12)

2018-03-29 Thread Mathieu Desnoyers
- On Mar 29, 2018, at 2:07 PM, rostedt rost...@goodmis.org wrote: > On Thu, 29 Mar 2018 14:02:33 -0400 (EDT) > Mathieu Desnoyers wrote: > >> Currently, anyone using ptrace on a process has pretty much given up all >> hopes of performance. Processes will use rse

Re: [RFC PATCH for 4.17 02/21] rseq: Introduce restartable sequences system call (v12)

2018-03-29 Thread Mathieu Desnoyers
- On Mar 29, 2018, at 10:23 AM, Peter Zijlstra pet...@infradead.org wrote: > On Thu, Mar 29, 2018 at 09:54:01AM -0400, Mathieu Desnoyers wrote: >> Let's say we disallow system calls from rseq critical sections. A few points >> arise: >> >> - We still need

Re: [RFC PATCH for 4.17 02/21] rseq: Introduce restartable sequences system call (v12)

2018-03-29 Thread Mathieu Desnoyers
- On Mar 29, 2018, at 10:23 AM, Peter Zijlstra pet...@infradead.org wrote: > On Thu, Mar 29, 2018 at 09:54:01AM -0400, Mathieu Desnoyers wrote: >> Let's say we disallow system calls from rseq critical sections. A few points >> arise: >> >> - We still need

Re: [RFC PATCH for 4.17 02/21] rseq: Introduce restartable sequences system call (v12)

2018-03-29 Thread Mathieu Desnoyers
- On Mar 28, 2018, at 5:25 PM, Thomas Gleixner t...@linutronix.de wrote: > On Wed, 28 Mar 2018, Mathieu Desnoyers wrote: >> - On Mar 28, 2018, at 1:49 PM, Peter Zijlstra pet...@infradead.org wrote: >> > I don't think disallowing system calls is arbi

Re: [RFC PATCH for 4.17 02/21] rseq: Introduce restartable sequences system call (v12)

2018-03-29 Thread Mathieu Desnoyers
- On Mar 28, 2018, at 5:25 PM, Thomas Gleixner t...@linutronix.de wrote: > On Wed, 28 Mar 2018, Mathieu Desnoyers wrote: >> - On Mar 28, 2018, at 1:49 PM, Peter Zijlstra pet...@infradead.org wrote: >> > I don't think disallowing system calls is arbi

Re: [RFC PATCH for 4.17 02/21] rseq: Introduce restartable sequences system call (v12)

2018-03-28 Thread Mathieu Desnoyers
- On Mar 28, 2018, at 1:49 PM, Peter Zijlstra pet...@infradead.org wrote: > On Wed, Mar 28, 2018 at 11:37:06AM -0400, Mathieu Desnoyers wrote: >> - On Mar 28, 2018, at 11:28 AM, Peter Zijlstra pet...@infradead.org >> wrote: >> >> > On Wed, Mar 28, 201

Re: [RFC PATCH for 4.17 02/21] rseq: Introduce restartable sequences system call (v12)

2018-03-28 Thread Mathieu Desnoyers
- On Mar 28, 2018, at 1:49 PM, Peter Zijlstra pet...@infradead.org wrote: > On Wed, Mar 28, 2018 at 11:37:06AM -0400, Mathieu Desnoyers wrote: >> - On Mar 28, 2018, at 11:28 AM, Peter Zijlstra pet...@infradead.org >> wrote: >> >> > On Wed, Mar 28, 201

Re: [RFC PATCH for 4.17 10/21] cpu_opv: Provide cpu_opv system call (v6)

2018-03-28 Thread Mathieu Desnoyers
- On Mar 28, 2018, at 11:22 AM, Peter Zijlstra pet...@infradead.org wrote: > On Tue, Mar 27, 2018 at 12:05:31PM -0400, Mathieu Desnoyers wrote: > >> 1) Allow algorithms to perform per-cpu data migration without relying on >>sched_setaffinity() >> >> The

Re: [RFC PATCH for 4.17 10/21] cpu_opv: Provide cpu_opv system call (v6)

2018-03-28 Thread Mathieu Desnoyers
- On Mar 28, 2018, at 11:22 AM, Peter Zijlstra pet...@infradead.org wrote: > On Tue, Mar 27, 2018 at 12:05:31PM -0400, Mathieu Desnoyers wrote: > >> 1) Allow algorithms to perform per-cpu data migration without relying on >>sched_setaffinity() >> >> The

Re: [RFC PATCH for 4.17 02/21] rseq: Introduce restartable sequences system call (v12)

2018-03-28 Thread Mathieu Desnoyers
- On Mar 28, 2018, at 8:29 AM, Peter Zijlstra pet...@infradead.org wrote: > On Tue, Mar 27, 2018 at 12:05:23PM -0400, Mathieu Desnoyers wrote: [...] >> +/* Ensure that abort_ip is not in the critical section. */ >> +if (rseq_cs.abort_ip - r

Re: [RFC PATCH for 4.17 02/21] rseq: Introduce restartable sequences system call (v12)

2018-03-28 Thread Mathieu Desnoyers
- On Mar 28, 2018, at 8:29 AM, Peter Zijlstra pet...@infradead.org wrote: > On Tue, Mar 27, 2018 at 12:05:23PM -0400, Mathieu Desnoyers wrote: [...] >> +/* Ensure that abort_ip is not in the critical section. */ >> +if (rseq_cs.abort_ip - r

Re: [RFC PATCH for 4.17 02/21] rseq: Introduce restartable sequences system call (v12)

2018-03-28 Thread Mathieu Desnoyers
- On Mar 28, 2018, at 11:28 AM, Peter Zijlstra pet...@infradead.org wrote: > On Wed, Mar 28, 2018 at 11:14:05AM -0400, Mathieu Desnoyers wrote: > >> > If at all possible I would make it SIGSEGV when issueing SYSCALL()s from >> > within an RSEQ. >> >> W

Re: [RFC PATCH for 4.17 02/21] rseq: Introduce restartable sequences system call (v12)

2018-03-28 Thread Mathieu Desnoyers
- On Mar 28, 2018, at 11:28 AM, Peter Zijlstra pet...@infradead.org wrote: > On Wed, Mar 28, 2018 at 11:14:05AM -0400, Mathieu Desnoyers wrote: > >> > If at all possible I would make it SIGSEGV when issueing SYSCALL()s from >> > within an RSEQ. >> >> W

Re: [RFC PATCH for 4.17 02/21] rseq: Introduce restartable sequences system call (v12)

2018-03-28 Thread Mathieu Desnoyers
- On Mar 28, 2018, at 10:59 AM, Peter Zijlstra pet...@infradead.org wrote: > On Wed, Mar 28, 2018 at 10:47:54AM -0400, Mathieu Desnoyers wrote: >> - On Mar 28, 2018, at 8:50 AM, Peter Zijlstra pet...@infradead.org wrote: >> >> > On Tue, Mar 27, 2018 at 12:05:23PM

Re: [RFC PATCH for 4.17 02/21] rseq: Introduce restartable sequences system call (v12)

2018-03-28 Thread Mathieu Desnoyers
- On Mar 28, 2018, at 10:59 AM, Peter Zijlstra pet...@infradead.org wrote: > On Wed, Mar 28, 2018 at 10:47:54AM -0400, Mathieu Desnoyers wrote: >> - On Mar 28, 2018, at 8:50 AM, Peter Zijlstra pet...@infradead.org wrote: >> >> > On Tue, Mar 27, 2018 at 12:05:23PM

Re: [RFC PATCH for 4.17 02/21] rseq: Introduce restartable sequences system call (v12)

2018-03-28 Thread Mathieu Desnoyers
t = __get_user(ptr, >rseq->rseq_cs); if (ret) return ret; if (!ptr) { memset(rseq_cs, 0, sizeof(*rseq_cs)); return 0; } [...] Thanks! Mathieu -- Mathieu Desnoyers EfficiOS Inc. http://www.efficios.com

Re: [RFC PATCH for 4.17 02/21] rseq: Introduce restartable sequences system call (v12)

2018-03-28 Thread Mathieu Desnoyers
t = __get_user(ptr, >rseq->rseq_cs); if (ret) return ret; if (!ptr) { memset(rseq_cs, 0, sizeof(*rseq_cs)); return 0; } [...] Thanks! Mathieu -- Mathieu Desnoyers EfficiOS Inc. http://www.efficios.com

Re: [RFC PATCH for 4.17 02/21] rseq: Introduce restartable sequences system call (v12)

2018-03-28 Thread Mathieu Desnoyers
- On Mar 28, 2018, at 8:50 AM, Peter Zijlstra pet...@infradead.org wrote: > On Tue, Mar 27, 2018 at 12:05:23PM -0400, Mathieu Desnoyers wrote: >> diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h >> index fb5fc458547f..66b070444a7e 100644 >> --- a/kernel/sched/sc

Re: [RFC PATCH for 4.17 02/21] rseq: Introduce restartable sequences system call (v12)

2018-03-28 Thread Mathieu Desnoyers
- On Mar 28, 2018, at 8:50 AM, Peter Zijlstra pet...@infradead.org wrote: > On Tue, Mar 27, 2018 at 12:05:23PM -0400, Mathieu Desnoyers wrote: >> diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h >> index fb5fc458547f..66b070444a7e 100644 >> --- a/kernel/sched/sc

Re: [RFC PATCH for 4.17 02/21] rseq: Introduce restartable sequences system call (v12)

2018-03-28 Thread Mathieu Desnoyers
- On Mar 28, 2018, at 10:06 AM, Mathieu Desnoyers mathieu.desnoy...@efficios.com wrote: > - On Mar 28, 2018, at 2:47 AM, Boqun Feng boqun.f...@gmail.com wrote: > >> On Tue, Mar 27, 2018 at 12:05:23PM -0400, Mathieu Desnoyers wrote: >> [...] >>> Changes since v

Re: [RFC PATCH for 4.17 02/21] rseq: Introduce restartable sequences system call (v12)

2018-03-28 Thread Mathieu Desnoyers
- On Mar 28, 2018, at 10:06 AM, Mathieu Desnoyers mathieu.desnoy...@efficios.com wrote: > - On Mar 28, 2018, at 2:47 AM, Boqun Feng boqun.f...@gmail.com wrote: > >> On Tue, Mar 27, 2018 at 12:05:23PM -0400, Mathieu Desnoyers wrote: >> [...] >>> Changes since v

Re: [RFC PATCH for 4.17 02/21] rseq: Introduce restartable sequences system call (v12)

2018-03-28 Thread Mathieu Desnoyers
- On Mar 28, 2018, at 7:22 AM, Peter Zijlstra pet...@infradead.org wrote: > On Tue, Mar 27, 2018 at 12:05:23PM -0400, Mathieu Desnoyers wrote: >> +/* >> + * struct rseq_cs is aligned on 4 * 8 bytes to ensure it is always >> + * contained within a single cache-line. I

Re: [RFC PATCH for 4.17 02/21] rseq: Introduce restartable sequences system call (v12)

2018-03-28 Thread Mathieu Desnoyers
- On Mar 28, 2018, at 7:22 AM, Peter Zijlstra pet...@infradead.org wrote: > On Tue, Mar 27, 2018 at 12:05:23PM -0400, Mathieu Desnoyers wrote: >> +/* >> + * struct rseq_cs is aligned on 4 * 8 bytes to ensure it is always >> + * contained within a single cache-line. I

Re: [RFC PATCH for 4.17 02/21] rseq: Introduce restartable sequences system call (v12)

2018-03-28 Thread Mathieu Desnoyers
- On Mar 28, 2018, at 7:19 AM, Peter Zijlstra pet...@infradead.org wrote: > On Tue, Mar 27, 2018 at 12:05:23PM -0400, Mathieu Desnoyers wrote: >> +#ifdef CONFIG_RSEQ >> +struct rseq __user *rseq; >> +u32 rseq_len; >> +u32 rseq_sig; >> +/* >&

Re: [RFC PATCH for 4.17 02/21] rseq: Introduce restartable sequences system call (v12)

2018-03-28 Thread Mathieu Desnoyers
- On Mar 28, 2018, at 7:19 AM, Peter Zijlstra pet...@infradead.org wrote: > On Tue, Mar 27, 2018 at 12:05:23PM -0400, Mathieu Desnoyers wrote: >> +#ifdef CONFIG_RSEQ >> +struct rseq __user *rseq; >> +u32 rseq_len; >> +u32 rseq_sig; >> +/* >&

Re: [RFC PATCH for 4.17 02/21] rseq: Introduce restartable sequences system call (v12)

2018-03-28 Thread Mathieu Desnoyers
- On Mar 28, 2018, at 2:47 AM, Boqun Feng boqun.f...@gmail.com wrote: > On Tue, Mar 27, 2018 at 12:05:23PM -0400, Mathieu Desnoyers wrote: > [...] >> Changes since v11: >> >> - Replace task struct rseq_preempt, rseq_signal, and rseq_migrate >>

Re: [RFC PATCH for 4.17 02/21] rseq: Introduce restartable sequences system call (v12)

2018-03-28 Thread Mathieu Desnoyers
- On Mar 28, 2018, at 2:47 AM, Boqun Feng boqun.f...@gmail.com wrote: > On Tue, Mar 27, 2018 at 12:05:23PM -0400, Mathieu Desnoyers wrote: > [...] >> Changes since v11: >> >> - Replace task struct rseq_preempt, rseq_signal, and rseq_migrate >>

Re: [RFC PATCH for 4.15 00/24] Restartable sequences and CPU op vector v11

2018-03-27 Thread Mathieu Desnoyers
@linux-foundation.org> wrote: >>> On Tue, Nov 14, 2017 at 12:03 PM, Mathieu Desnoyers >>> <mathieu.desnoy...@efficios.com> wrote: >>>> Here is the last RFC round of the updated rseq patchset containing: >>> >>> Andy? You were the one wi

Re: [RFC PATCH for 4.15 00/24] Restartable sequences and CPU op vector v11

2018-03-27 Thread Mathieu Desnoyers
is. > Thank you for the extensive clean-ups and user-side development. I > have some updates on these topics also. > > - Paul > > On Tue, Nov 14, 2017 at 1:15 PM, Andy Lutomirski wrote: >> On Tue, Nov 14, 2017 at 1:08 PM, Linus Torvalds >> wrote: >>> On Tue, Nov 14, 201

[RFC PATCH for 4.17 04/21] arm: Wire up restartable sequences system call

2018-03-27 Thread Mathieu Desnoyers
. Signed-off-by: Mathieu Desnoyers <mathieu.desnoy...@efficios.com> CC: Russell King <li...@arm.linux.org.uk> CC: Catalin Marinas <catalin.mari...@arm.com> CC: Will Deacon <will.dea...@arm.com> CC: Thomas Gleixner <t...@linutronix.de> CC: Paul Turner <p

[RFC PATCH for 4.17 04/21] arm: Wire up restartable sequences system call

2018-03-27 Thread Mathieu Desnoyers
. Signed-off-by: Mathieu Desnoyers CC: Russell King CC: Catalin Marinas CC: Will Deacon CC: Thomas Gleixner CC: Paul Turner CC: Andrew Hunter CC: Peter Zijlstra CC: Andy Lutomirski CC: Andi Kleen CC: Dave Watson CC: Chris Lameter CC: Ingo Molnar CC: Ben Maurer CC: Steven Rostedt CC

[RFC PATCH for 4.17 03/21] arm: Add restartable sequences support

2018-03-27 Thread Mathieu Desnoyers
Call the rseq_handle_notify_resume() function on return to userspace if TIF_NOTIFY_RESUME thread flag is set. Increment the event counter and perform fixup on the pre-signal frame when a signal is delivered on top of a restartable sequence critical section. Signed-off-by: Mathieu Desnoyers

[RFC PATCH for 4.17 03/21] arm: Add restartable sequences support

2018-03-27 Thread Mathieu Desnoyers
Call the rseq_handle_notify_resume() function on return to userspace if TIF_NOTIFY_RESUME thread flag is set. Increment the event counter and perform fixup on the pre-signal frame when a signal is delivered on top of a restartable sequence critical section. Signed-off-by: Mathieu Desnoyers CC

[RFC PATCH for 4.17 05/21] x86: Add support for restartable sequences

2018-03-27 Thread Mathieu Desnoyers
Call the rseq_handle_notify_resume() function on return to userspace if TIF_NOTIFY_RESUME thread flag is set. Increment the event counter and perform fixup on the pre-signal frame when a signal is delivered on top of a restartable sequence critical section. Signed-off-by: Mathieu Desnoyers

[RFC PATCH for 4.17 05/21] x86: Add support for restartable sequences

2018-03-27 Thread Mathieu Desnoyers
Call the rseq_handle_notify_resume() function on return to userspace if TIF_NOTIFY_RESUME thread flag is set. Increment the event counter and perform fixup on the pre-signal frame when a signal is delivered on top of a restartable sequence critical section. Signed-off-by: Mathieu Desnoyers

[RFC PATCH for 4.17 00/21] Restartable sequences and CPU op vector

2018-03-27 Thread Mathieu Desnoyers
). Feedback is welcome! Thanks, Mathieu Boqun Feng (2): powerpc: Add support for restartable sequences powerpc: Wire up restartable sequences system call Mathieu Desnoyers (19): uapi headers: Provide types_32_64.h rseq: Introduce restartable sequences system call (v12) arm: Add restartable

[RFC PATCH for 4.17 00/21] Restartable sequences and CPU op vector

2018-03-27 Thread Mathieu Desnoyers
). Feedback is welcome! Thanks, Mathieu Boqun Feng (2): powerpc: Add support for restartable sequences powerpc: Wire up restartable sequences system call Mathieu Desnoyers (19): uapi headers: Provide types_32_64.h rseq: Introduce restartable sequences system call (v12) arm: Add restartable

[RFC PATCH for 4.17 08/21] powerpc: Wire up restartable sequences system call

2018-03-27 Thread Mathieu Desnoyers
u data compared to using load-reservation/store-conditional atomics. Signed-off-by: Boqun Feng <boqun.f...@gmail.com> Signed-off-by: Mathieu Desnoyers <mathieu.desnoy...@efficios.com> CC: Benjamin Herrenschmidt <b...@kernel.crashing.org> CC: Paul Mackerras <pau...@samba.o

[RFC PATCH for 4.17 08/21] powerpc: Wire up restartable sequences system call

2018-03-27 Thread Mathieu Desnoyers
-reservation/store-conditional atomics. Signed-off-by: Boqun Feng Signed-off-by: Mathieu Desnoyers CC: Benjamin Herrenschmidt CC: Paul Mackerras CC: Michael Ellerman CC: Peter Zijlstra CC: "Paul E. McKenney" CC: linuxppc-...@lists.ozlabs.org --- arch/powerpc/include/asm/systbl.h |

[RFC PATCH for 4.17 02/21] rseq: Introduce restartable sequences system call (v12)

2018-03-27 Thread Mathieu Desnoyers
0.st...@pjt-glaptop.roam.corp.google.com Link: http://lkml.kernel.org/r/20150624222609.6116.86035.st...@kitami.mtv.corp.google.com Signed-off-by: Mathieu Desnoyers <mathieu.desnoy...@efficios.com> CC: Thomas Gleixner <t...@linutronix.de> CC: Paul Turner <p...@google.com> C

[RFC PATCH for 4.17 02/21] rseq: Introduce restartable sequences system call (v12)

2018-03-27 Thread Mathieu Desnoyers
0.st...@pjt-glaptop.roam.corp.google.com Link: http://lkml.kernel.org/r/20150624222609.6116.86035.st...@kitami.mtv.corp.google.com Signed-off-by: Mathieu Desnoyers CC: Thomas Gleixner CC: Paul Turner CC: Andrew Hunter CC: Peter Zijlstra CC: Andy Lutomirski CC: Andi Kleen CC: Dave Watson CC

[RFC PATCH for 4.17 09/21] sched: Implement push_task_to_cpu (v2)

2018-03-27 Thread Mathieu Desnoyers
executes. Code invoking push_task_to_cpu() must be prepared to retry in that case. Signed-off-by: Mathieu Desnoyers <mathieu.desnoy...@efficios.com> CC: "Paul E. McKenney" <paul...@linux.vnet.ibm.com> CC: Peter Zijlstra <pet...@infradead.org> CC: Paul Turner <p...@goo

[RFC PATCH for 4.17 07/21] powerpc: Add support for restartable sequences

2018-03-27 Thread Mathieu Desnoyers
ection. Signed-off-by: Boqun Feng <boqun.f...@gmail.com> Signed-off-by: Mathieu Desnoyers <mathieu.desnoy...@efficios.com> CC: Benjamin Herrenschmidt <b...@kernel.crashing.org> CC: Paul Mackerras <pau...@samba.org> CC: Michael Ellerman <m...@ellerman.id.au> CC: Peter Zijlstr

[RFC PATCH for 4.17 09/21] sched: Implement push_task_to_cpu (v2)

2018-03-27 Thread Mathieu Desnoyers
executes. Code invoking push_task_to_cpu() must be prepared to retry in that case. Signed-off-by: Mathieu Desnoyers CC: "Paul E. McKenney" CC: Peter Zijlstra CC: Paul Turner CC: Thomas Gleixner CC: Andrew Hunter CC: Andy Lutomirski CC: Andi Kleen CC: Dave Watson CC: Chris Lameter

[RFC PATCH for 4.17 07/21] powerpc: Add support for restartable sequences

2018-03-27 Thread Mathieu Desnoyers
Signed-off-by: Mathieu Desnoyers CC: Benjamin Herrenschmidt CC: Paul Mackerras CC: Michael Ellerman CC: Peter Zijlstra CC: "Paul E. McKenney" CC: linuxppc-...@lists.ozlabs.org --- arch/powerpc/Kconfig | 1 + arch/powerpc/kernel/signal.c | 3 +++ 2 files changed, 4

[RFC PATCH for 4.17 01/21] uapi headers: Provide types_32_64.h

2018-03-27 Thread Mathieu Desnoyers
. The order of padding and 32-bit integer depends on the endianness. Signed-off-by: Mathieu Desnoyers <mathieu.desnoy...@efficios.com> CC: "Paul E. McKenney" <paul...@linux.vnet.ibm.com> CC: Peter Zijlstra <pet...@infradead.org> CC: Paul Turner <p...@google.com> CC: T

[RFC PATCH for 4.17 01/21] uapi headers: Provide types_32_64.h

2018-03-27 Thread Mathieu Desnoyers
. The order of padding and 32-bit integer depends on the endianness. Signed-off-by: Mathieu Desnoyers CC: "Paul E. McKenney" CC: Peter Zijlstra CC: Paul Turner CC: Thomas Gleixner CC: Andrew Hunter CC: Andy Lutomirski CC: Andi Kleen CC: Dave Watson CC: Chris Lameter CC: Ingo Moln

[RFC PATCH for 4.17 11/21] x86: Wire up cpu_opv system call

2018-03-27 Thread Mathieu Desnoyers
Signed-off-by: Mathieu Desnoyers <mathieu.desnoy...@efficios.com> CC: "Paul E. McKenney" <paul...@linux.vnet.ibm.com> CC: Peter Zijlstra <pet...@infradead.org> CC: Paul Turner <p...@google.com> CC: Thomas Gleixner <t...@linutronix.de> CC: Andrew Hunter

[RFC PATCH for 4.17 11/21] x86: Wire up cpu_opv system call

2018-03-27 Thread Mathieu Desnoyers
Signed-off-by: Mathieu Desnoyers CC: "Paul E. McKenney" CC: Peter Zijlstra CC: Paul Turner CC: Thomas Gleixner CC: Andrew Hunter CC: Andy Lutomirski CC: Andi Kleen CC: Dave Watson CC: Chris Lameter CC: Ingo Molnar CC: "H. Peter Anvin" CC: Ben Maurer CC: Stev

[RFC PATCH for 4.17 12/21] powerpc: Wire up cpu_opv system call

2018-03-27 Thread Mathieu Desnoyers
Signed-off-by: Mathieu Desnoyers <mathieu.desnoy...@efficios.com> CC: Benjamin Herrenschmidt <b...@kernel.crashing.org> CC: Paul Mackerras <pau...@samba.org> CC: Michael Ellerman <m...@ellerman.id.au> CC: Boqun Feng <boqun.f...@gmail.com> CC: Peter Zijlstra <

[RFC PATCH for 4.17 10/21] cpu_opv: Provide cpu_opv system call (v6)

2018-03-27 Thread Mathieu Desnoyers
n, the cpu_opv system call will ensure the commit can be performed on the right CPU by migrating the task to that CPU. On the consumer side, an alternative to using store-release and load-acquire on the commit counter would be to use cpu_opv to ensure the commit counter load is performed on the r

[RFC PATCH for 4.17 12/21] powerpc: Wire up cpu_opv system call

2018-03-27 Thread Mathieu Desnoyers
Signed-off-by: Mathieu Desnoyers CC: Benjamin Herrenschmidt CC: Paul Mackerras CC: Michael Ellerman CC: Boqun Feng CC: Peter Zijlstra CC: "Paul E. McKenney" CC: linuxppc-...@lists.ozlabs.org --- arch/powerpc/include/asm/systbl.h | 1 + arch/powerpc/include/asm/unistd.

<    9   10   11   12   13   14   15   16   17   18   >