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
"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
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
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
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
.
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
.
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
(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
(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
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
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
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
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..
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
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
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:
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
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
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
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
"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
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
"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
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
-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
.
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
.
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
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
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.
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
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
= 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
= 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
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
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
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
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
s. I've reviewed the
result and it is all good.
Mathieu
--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com
s. I've reviewed the
result and it is all good.
Mathieu
--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com
- 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
- 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
- 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
- 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
- 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
>
- 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
- 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
- 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,
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
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
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
- 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
- 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
- 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
- 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
- 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
- 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
- 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;
>> +/*
>&
- 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;
>> +/*
>&
- 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
>>
- 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
>>
@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
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
.
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
.
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
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
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
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
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
).
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
).
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
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
-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 |
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
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
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
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
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
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
.
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
.
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
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
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
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 <
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
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.
1301 - 1400 of 7290 matches
Mail list logo