why all these BUG_ON's can't be turned
>> into:
>
> +1
>
>> if (WARN_ON(x))
>> return;
>
> Given that this somewhat MM-related, I'd may be say VM_WARN_ON().
Good point, will do!
So I'll do one cleanup patch for vm_unmap_ram(), and I'll modify the new
vm_unmap_user_ram().
Thanks,
Mathieu
>
> -ss
--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com
- On Oct 16, 2018, at 2:30 PM, rostedt rost...@goodmis.org wrote:
> On Wed, 10 Oct 2018 15:19:24 -0400
> Mathieu Desnoyers wrote:
>
>> + * vm_unmap_user_ram - unmap linear kernel address space set up by
>> vm_map_user_ram
>> + * @mem: the pointer returned by vm
- On Oct 16, 2018, at 2:30 PM, rostedt rost...@goodmis.org wrote:
> On Wed, 10 Oct 2018 15:19:24 -0400
> Mathieu Desnoyers wrote:
>
>> + * vm_unmap_user_ram - unmap linear kernel address space set up by
>> vm_map_user_ram
>> + * @mem: the pointer returned by vm
- On Oct 16, 2018, at 4:10 AM, Sergey Senozhatsky
sergey.senozhatsky.w...@gmail.com wrote:
> Hi Mathieu,
>
> On (10/10/18 15:19), Mathieu Desnoyers wrote:
> [..]
>> +SYSCALL_DEFINE4(cpu_opv, struct cpu_op __user *, ucpuopv, int, cpuopcnt,
>> +
- On Oct 16, 2018, at 4:10 AM, Sergey Senozhatsky
sergey.senozhatsky.w...@gmail.com wrote:
> Hi Mathieu,
>
> On (10/10/18 15:19), Mathieu Desnoyers wrote:
> [..]
>> +SYSCALL_DEFINE4(cpu_opv, struct cpu_op __user *, ucpuopv, int, cpuopcnt,
>> +
system call
Signed-off-by: Heiko Carstens
Signed-off-by: Martin Schwidefsky
Also, please make sure the tools/testing/selftests/rseq/ tests
pass before pushing a commit enabling it for your architecture.
Thanks,
Mathieu
--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com
system call
Signed-off-by: Heiko Carstens
Signed-off-by: Martin Schwidefsky
Also, please make sure the tools/testing/selftests/rseq/ tests
pass before pushing a commit enabling it for your architecture.
Thanks,
Mathieu
--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com
rc kernels, and should ideally be fixed
before the end of the rc cycle.
Signed-off-by: Mathieu Desnoyers
Acked-by: Ard Biesheuvel
Link: http://lkml.kernel.org/r/20180704083651.24360-7-ard.biesheu...@linaro.org
Cc: Michael Ellerman
Cc: Ingo Molnar
Cc: Steven Rostedt (VMware)
Cc: Ard Biesheuvel
rc kernels, and should ideally be fixed
before the end of the rc cycle.
Signed-off-by: Mathieu Desnoyers
Acked-by: Ard Biesheuvel
Link: http://lkml.kernel.org/r/20180704083651.24360-7-ard.biesheu...@linaro.org
Cc: Michael Ellerman
Cc: Ingo Molnar
Cc: Steven Rostedt (VMware)
Cc: Ard Biesheuvel
- On Oct 13, 2018, at 2:34 PM, Mathieu Desnoyers
mathieu.desnoy...@efficios.com wrote:
> - On Oct 13, 2018, at 11:24 AM, Ard Biesheuvel ard.biesheu...@linaro.org
> wrote:
>
>> On 12 October 2018 at 23:07, Ard Biesheuvel
>> wrote:
>>> Hi Mathieu,
>&
- On Oct 13, 2018, at 2:34 PM, Mathieu Desnoyers
mathieu.desnoy...@efficios.com wrote:
> - On Oct 13, 2018, at 11:24 AM, Ard Biesheuvel ard.biesheu...@linaro.org
> wrote:
>
>> On 12 October 2018 at 23:07, Ard Biesheuvel
>> wrote:
>>> Hi Mathieu,
>&
- On Oct 13, 2018, at 11:24 AM, Ard Biesheuvel ard.biesheu...@linaro.org
wrote:
> On 12 October 2018 at 23:07, Ard Biesheuvel wrote:
>> Hi Mathieu,
>>
>> On 12 October 2018 at 22:05, Mathieu Desnoyers
>> wrote:
>>> commit 46e0c9be206f ("kern
- On Oct 13, 2018, at 11:24 AM, Ard Biesheuvel ard.biesheu...@linaro.org
wrote:
> On 12 October 2018 at 23:07, Ard Biesheuvel wrote:
>> Hi Mathieu,
>>
>> On 12 October 2018 at 22:05, Mathieu Desnoyers
>> wrote:
>>> commit 46e0c9be206f ("kern
- On Oct 12, 2018, at 4:05 PM, Mathieu Desnoyers
mathieu.desnoy...@efficios.com wrote:
> commit 46e0c9be206f ("kernel: tracepoints: add support for relative
> references") changes the layout of the __tracepoint_ptrs section on
> architectures supporting relative reference
- On Oct 12, 2018, at 4:05 PM, Mathieu Desnoyers
mathieu.desnoy...@efficios.com wrote:
> commit 46e0c9be206f ("kernel: tracepoints: add support for relative
> references") changes the layout of the __tracepoint_ptrs section on
> architectures supporting relative reference
epoint_range() implementation.
This issue appears in 4.19-rc kernels, and should ideally be fixed
before the end of the rc cycle.
Signed-off-by: Mathieu Desnoyers
Link: http://lkml.kernel.org/r/20180704083651.24360-7-ard.biesheu...@linaro.org
Cc: Michael Ellerman
Cc: Ingo Molnar
Cc: Steven Rost
epoint_range() implementation.
This issue appears in 4.19-rc kernels, and should ideally be fixed
before the end of the rc cycle.
Signed-off-by: Mathieu Desnoyers
Link: http://lkml.kernel.org/r/20180704083651.24360-7-ard.biesheu...@linaro.org
Cc: Michael Ellerman
Cc: Ingo Molnar
Cc: Steven Rost
- On Oct 11, 2018, at 1:04 PM, Szabolcs Nagy szabolcs.n...@arm.com wrote:
> On 11/10/18 17:37, Mathieu Desnoyers wrote:
>> - On Oct 11, 2018, at 12:20 PM, Szabolcs Nagy szabolcs.n...@arm.com
>> wrote:
>>> On 11/10/18 16:13, Mathieu Desnoyers wrote:
>>>&g
- On Oct 11, 2018, at 1:04 PM, Szabolcs Nagy szabolcs.n...@arm.com wrote:
> On 11/10/18 17:37, Mathieu Desnoyers wrote:
>> - On Oct 11, 2018, at 12:20 PM, Szabolcs Nagy szabolcs.n...@arm.com
>> wrote:
>>> On 11/10/18 16:13, Mathieu Desnoyers wrote:
>>>&g
- On Oct 11, 2018, at 12:20 PM, Szabolcs Nagy szabolcs.n...@arm.com wrote:
> On 11/10/18 16:13, Mathieu Desnoyers wrote:
>> - On Oct 11, 2018, at 6:37 AM, Szabolcs Nagy szabolcs.n...@arm.com wrote:
>>
>>> On 10/10/18 20:19, Mathieu Desnoyers wrote:
>>
- On Oct 11, 2018, at 12:20 PM, Szabolcs Nagy szabolcs.n...@arm.com wrote:
> On 11/10/18 16:13, Mathieu Desnoyers wrote:
>> - On Oct 11, 2018, at 6:37 AM, Szabolcs Nagy szabolcs.n...@arm.com wrote:
>>
>>> On 10/10/18 20:19, Mathieu Desnoyers wrote:
>>
- On Oct 11, 2018, at 6:37 AM, Szabolcs Nagy szabolcs.n...@arm.com wrote:
> On 10/10/18 20:19, Mathieu Desnoyers wrote:
>> In order to integrate rseq into user-space applications, add a reference
>> counter field after the struct rseq TLS ABI so many rseq users can be
>>
- On Oct 11, 2018, at 6:37 AM, Szabolcs Nagy szabolcs.n...@arm.com wrote:
> On 10/10/18 20:19, Mathieu Desnoyers wrote:
>> In order to integrate rseq into user-space applications, add a reference
>> counter field after the struct rseq TLS ABI so many rseq users can be
>>
Signed-off-by: Mathieu Desnoyers
CC: "Paul E. McKenney"
CC: Peter Zijlstra
CC: Paul Turner
CC: Thomas Gleixner
CC: Andy Lutomirski
CC: Andi Kleen
CC: Dave Watson
CC: Chris Lameter
CC: Ingo Molnar
CC: "H. Peter Anvin"
CC: Ben Maurer
CC: Steven Rostedt
CC: Josh
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/uapi/asm/unistd.
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: Andy Lutomirski
CC: Andi Kleen
CC: Dave Watson
CC: Chris Lameter
CC: Ingo Moln
Introduce sysctl cpu_opv_va_max_bytes, which limits the amount of
virtual address space that can be used by cpu_opv.
Its default value is the maximum amount of virtual address space which
can be used by a single cpu_opv system call (256 kB on x86).
Signed-off-by: Mathieu Desnoyers
CC: "P
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/uapi/asm/unistd.
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: Andy Lutomirski
CC: Andi Kleen
CC: Dave Watson
CC: Chris Lameter
CC: Ingo Moln
Introduce sysctl cpu_opv_va_max_bytes, which limits the amount of
virtual address space that can be used by cpu_opv.
Its default value is the maximum amount of virtual address space which
can be used by a single cpu_opv system call (256 kB on x86).
Signed-off-by: Mathieu Desnoyers
CC: "P
Signed-off-by: Mathieu Desnoyers
CC: "Paul E. McKenney"
CC: Peter Zijlstra
CC: Paul Turner
CC: Thomas Gleixner
CC: Andy Lutomirski
CC: Andi Kleen
CC: Dave Watson
CC: Chris Lameter
CC: Ingo Molnar
CC: "H. Peter Anvin"
CC: Ben Maurer
CC: Steven Rostedt
CC: Josh
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: Andy Lutomirski
CC: Andi Kleen
CC: Dave Watson
CC: Chris Lameter
CC: Ingo Molnar
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: Andy Lutomirski
CC: Andi Kleen
CC: Dave Watson
CC: Chris Lameter
CC: Ingo Molnar
CC:
"basic_percpu_ops_test" implements a few simple per-cpu operations and
testing their correctness.
Signed-off-by: Mathieu Desnoyers
CC: Thomas Gleixner
Cc: Joel Fernandes
Cc: Peter Zijlstra
Cc: Catalin Marinas
Cc: Dave Watson
Cc: Will Deacon
Cc: Shuah Khan
Cc: Andi Kleen
Cc: li
"basic_percpu_ops_test" implements a few simple per-cpu operations and
testing their correctness.
Signed-off-by: Mathieu Desnoyers
CC: Thomas Gleixner
Cc: Joel Fernandes
Cc: Peter Zijlstra
Cc: Catalin Marinas
Cc: Dave Watson
Cc: Will Deacon
Cc: Shuah Khan
Cc: Andi Kleen
Cc: li
Signed-off-by: Mathieu Desnoyers
CC: Russell King
CC: Catalin Marinas
CC: Will Deacon
CC: Thomas Gleixner
CC: Paul Turner
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: "Paul E. McK
Signed-off-by: Mathieu Desnoyers
CC: Russell King
CC: Catalin Marinas
CC: Will Deacon
CC: Thomas Gleixner
CC: Paul Turner
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: "Paul E. McK
A run_param_test.sh script runs many variants of the parametrizable
tests.
Wire up the cpu-opv Makefile, add directory entry into MAINTAINERS file.
Signed-off-by: Mathieu Desnoyers
Cc: Thomas Gleixner
Cc: Joel Fernandes
Cc: Peter Zijlstra
Cc: Catalin Marinas
Cc: Dave Watson
Cc: Will Deacon
interfering with cpu affinity masks, and using rseq
from signal handlers nested between thread creation and rseq
registration by glibc, or between rseq unregistration by glibc and
thread teardown.
Thanks,
Mathieu
Mathieu Desnoyers (16):
rseq/selftests: Add reference counter to coexist with glibc
formed on the same per-cpu ring buffer, even if a migration
happens between those operations. In the typical case, both operations
will happens on the same CPU and use rseq. In the unlikely event of a
migration, the cpu_opv system call will ensure the commit can be
performed on the right CPU by migrating
= percpu_current_cpu();
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
On smaller systems, running a test with 200 threads can take a long
time on machines with smaller number of CPUs.
Detect the number of online cpus at test runtime, and multiply that
by 6 to have 6 rseq threads per cpu preempting each other.
Signed-off-by: Mathieu Desnoyers
Cc: Shuah Khan
Cc
A run_param_test.sh script runs many variants of the parametrizable
tests.
Wire up the cpu-opv Makefile, add directory entry into MAINTAINERS file.
Signed-off-by: Mathieu Desnoyers
Cc: Thomas Gleixner
Cc: Joel Fernandes
Cc: Peter Zijlstra
Cc: Catalin Marinas
Cc: Dave Watson
Cc: Will Deacon
interfering with cpu affinity masks, and using rseq
from signal handlers nested between thread creation and rseq
registration by glibc, or between rseq unregistration by glibc and
thread teardown.
Thanks,
Mathieu
Mathieu Desnoyers (16):
rseq/selftests: Add reference counter to coexist with glibc
formed on the same per-cpu ring buffer, even if a migration
happens between those operations. In the typical case, both operations
will happens on the same CPU and use rseq. In the unlikely event of a
migration, the cpu_opv system call will ensure the commit can be
performed on the right CPU by migrating
= percpu_current_cpu();
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
On smaller systems, running a test with 200 threads can take a long
time on machines with smaller number of CPUs.
Detect the number of online cpus at test runtime, and multiply that
by 6 to have 6 rseq threads per cpu preempting each other.
Signed-off-by: Mathieu Desnoyers
Cc: Shuah Khan
Cc
"basic_cpu_opv_test" tests basic functionality of cpu_opv.
Signed-off-by: Mathieu Desnoyers
Cc: Thomas Gleixner
Cc: Joel Fernandes
Cc: Peter Zijlstra
Cc: Catalin Marinas
Cc: Dave Watson
Cc: Will Deacon
Cc: Shuah Khan
Cc: Andi Kleen
Cc: linux-kselft...@vger.kernel.org
Cc: "
"basic_cpu_opv_test" tests basic functionality of cpu_opv.
Signed-off-by: Mathieu Desnoyers
Cc: Thomas Gleixner
Cc: Joel Fernandes
Cc: Peter Zijlstra
Cc: Catalin Marinas
Cc: Dave Watson
Cc: Will Deacon
Cc: Shuah Khan
Cc: Andi Kleen
Cc: linux-kselft...@vger.kernel.org
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: Andy Lutomirski
CC: Andi Kleen
CC: Dave
This cpu-op helper library provides a user-space API to the cpu_opv()
system call.
Signed-off-by: Mathieu Desnoyers
Cc: Thomas Gleixner
Cc: Joel Fernandes
Cc: Peter Zijlstra
Cc: Catalin Marinas
Cc: Dave Watson
Cc: Will Deacon
Cc: Shuah Khan
Cc: Andi Kleen
Cc: linux-kselft
e benchmarks.
"param_test_compare_twice" is the same as "param_test", but it performs
each comparison within rseq critical section twice, thus validating
invariants. If any of the second comparisons fails, an error message
is printed and the test aborts.
Signed-off-by: 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: Andy Lutomirski
CC: Andi Kleen
CC: Dave
This cpu-op helper library provides a user-space API to the cpu_opv()
system call.
Signed-off-by: Mathieu Desnoyers
Cc: Thomas Gleixner
Cc: Joel Fernandes
Cc: Peter Zijlstra
Cc: Catalin Marinas
Cc: Dave Watson
Cc: Will Deacon
Cc: Shuah Khan
Cc: Andi Kleen
Cc: linux-kselft
e benchmarks.
"param_test_compare_twice" is the same as "param_test", but it performs
each comparison within rseq critical section twice, thus validating
invariants. If any of the second comparisons fails, an error message
is printed and the test aborts.
Signed-off-by: Mathieu Desnoyers
struct rseq is an ABI between user-space
executable and libraries, but the kernel does not care about that field,
so it is not part of the Linux uapi.
Signed-off-by: Mathieu Desnoyers
CC: Shuah Khan
CC: Carlos O'Donell
CC: Florian Weimer
CC: Joseph Myers
CC: Szabolcs Nagy
CC: Thomas Gleixner
CC
struct rseq is an ABI between user-space
executable and libraries, but the kernel does not care about that field,
so it is not part of the Linux uapi.
Signed-off-by: Mathieu Desnoyers
CC: Shuah Khan
CC: Carlos O'Donell
CC: Florian Weimer
CC: Joseph Myers
CC: Szabolcs Nagy
CC: Thomas Gleixner
CC
NEWS entry.
- Update ABI test baselines.
- Update abilist for non-x86-64 architectures.
Signed-off-by: Mathieu Desnoyers
CC: Carlos O'Donell
CC: Florian Weimer
CC: Joseph Myers
CC: Szabolcs Nagy
CC: Thomas Gleixner
CC: Ben Maurer
CC: Peter Zijlstra
CC: "Paul E. McKenney"
CC: Boqun F
NEWS entry.
- Update ABI test baselines.
- Update abilist for non-x86-64 architectures.
Signed-off-by: Mathieu Desnoyers
CC: Carlos O'Donell
CC: Florian Weimer
CC: Joseph Myers
CC: Szabolcs Nagy
CC: Thomas Gleixner
CC: Ben Maurer
CC: Peter Zijlstra
CC: "Paul E. McKenney"
CC: Boqun F
register to hold the address
of the loop counter variable.
Fix this by using a 64-bit register to calculate the address of the
loop counter variables as an offset from rip.
Signed-off-by: Mathieu Desnoyers
Acked-by: "Paul E . McKenney"
Cc: # v4.18
Cc: Shuah Khan
Cc: Thomas Gleixner
register to hold the address
of the loop counter variable.
Fix this by using a 64-bit register to calculate the address of the
loop counter variables as an offset from rip.
Signed-off-by: Mathieu Desnoyers
Acked-by: "Paul E . McKenney"
Cc: # v4.18
Cc: Shuah Khan
Cc: Thomas Gleixner
.
Fix this by using a 64-bit register to calculate the address of the
loop counter variables as an offset from rip.
Signed-off-by: Mathieu Desnoyers
Acked-by: "Paul E . McKenney"
Cc: # v4.18
Cc: Shuah Khan
Cc: Thomas Gleixner
Cc: Joel Fernandes
Cc: Peter Zijlstra
Cc: Catalin M
.
Fix this by using a 64-bit register to calculate the address of the
loop counter variables as an offset from rip.
Signed-off-by: Mathieu Desnoyers
Acked-by: "Paul E . McKenney"
Cc: # v4.18
Cc: Shuah Khan
Cc: Thomas Gleixner
Cc: Joel Fernandes
Cc: Peter Zijlstra
Cc: Catalin M
- On Sep 27, 2018, at 9:58 AM, Shuah Khan shuah...@samsung.com wrote:
> On 09/27/2018 07:22 AM, Steven Rostedt wrote:
>> On Tue, 25 Sep 2018 13:39:36 -0400 (EDT)
>> Mathieu Desnoyers wrote:
>>
>>> - On Sep 18, 2018, at 9:53 AM, Mathieu Desnoyers
>>&g
- On Sep 27, 2018, at 9:58 AM, Shuah Khan shuah...@samsung.com wrote:
> On 09/27/2018 07:22 AM, Steven Rostedt wrote:
>> On Tue, 25 Sep 2018 13:39:36 -0400 (EDT)
>> Mathieu Desnoyers wrote:
>>
>>> - On Sep 18, 2018, at 9:53 AM, Mathieu Desnoyers
>>&g
- On Sep 18, 2018, at 9:53 AM, Mathieu Desnoyers
mathieu.desnoy...@efficios.com wrote:
> On x86-64, the parametrized selftest code for rseq crashes with a
> segmentation fault when compiled with -fpie. This happens when the
> param_test binary is loaded at an address beyond 32-bit
- On Sep 18, 2018, at 9:53 AM, Mathieu Desnoyers
mathieu.desnoy...@efficios.com wrote:
> On x86-64, the parametrized selftest code for rseq crashes with a
> segmentation fault when compiled with -fpie. This happens when the
> param_test binary is loaded at an address beyond 32-bit
- On Sep 20, 2018, at 4:20 PM, Joseph Myers jos...@codesourcery.com wrote:
> On Thu, 20 Sep 2018, Mathieu Desnoyers wrote:
>
>> Are you saying glibc has an explicit check for the kernel version visible
>> from /proc before using specific features ? If so,
- On Sep 20, 2018, at 4:20 PM, Joseph Myers jos...@codesourcery.com wrote:
> On Thu, 20 Sep 2018, Mathieu Desnoyers wrote:
>
>> Are you saying glibc has an explicit check for the kernel version visible
>> from /proc before using specific features ? If so,
- On Sep 19, 2018, at 1:10 PM, Joseph Myers jos...@codesourcery.com wrote:
> On Wed, 19 Sep 2018, Mathieu Desnoyers wrote:
>
>> > This looks like it's coming from the Linux kernel. Can't the relevant
>> > uapi header just be used directly without copying into g
- On Sep 19, 2018, at 1:10 PM, Joseph Myers jos...@codesourcery.com wrote:
> On Wed, 19 Sep 2018, Mathieu Desnoyers wrote:
>
>> > This looks like it's coming from the Linux kernel. Can't the relevant
>> > uapi header just be used directly without copying into g
- On Sep 19, 2018, at 12:37 PM, Joseph Myers jos...@codesourcery.com wrote:
> On Wed, 19 Sep 2018, Mathieu Desnoyers wrote:
>
>> Here is a rough prototype registering rseq(2) TLS for each thread
>> (including main), and unregistering for each thread (excluding
>&
- On Sep 19, 2018, at 12:37 PM, Joseph Myers jos...@codesourcery.com wrote:
> On Wed, 19 Sep 2018, Mathieu Desnoyers wrote:
>
>> Here is a rough prototype registering rseq(2) TLS for each thread
>> (including main), and unregistering for each thread (excluding
>&
- On Sep 19, 2018, at 1:38 PM, Szabolcs Nagy szabolcs.n...@arm.com wrote:
> On 19/09/18 15:44, Mathieu Desnoyers wrote:
>> Things to consider:
>>
>> - Move __rseq_refcount to an extra field at the end of __rseq_abi to
>>eliminate one symbol. This would
- On Sep 19, 2018, at 1:38 PM, Szabolcs Nagy szabolcs.n...@arm.com wrote:
> On 19/09/18 15:44, Mathieu Desnoyers wrote:
>> Things to consider:
>>
>> - Move __rseq_refcount to an extra field at the end of __rseq_abi to
>>eliminate one symbol. This would
I'm using the initial-exec tls model
rather than the global-dynamic: I want to make sure no function call is
generated there.
> The ABI tests have code that would list .tbss symbols as "T" in ABI test
> baselines, but no existing ABI baselines use that.
Thanks,
Mathieu
--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com
I'm using the initial-exec tls model
rather than the global-dynamic: I want to make sure no function call is
generated there.
> The ABI tests have code that would list .tbss symbols as "T" in ABI test
> baselines, but no existing ABI baselines use that.
Thanks,
Mathieu
--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com
- On Sep 19, 2018, at 12:37 PM, Joseph Myers jos...@codesourcery.com wrote:
> On Wed, 19 Sep 2018, Mathieu Desnoyers wrote:
>
>> Here is a rough prototype registering rseq(2) TLS for each thread
>> (including main), and unregistering for each thread (excluding
>&
- On Sep 19, 2018, at 12:37 PM, Joseph Myers jos...@codesourcery.com wrote:
> On Wed, 19 Sep 2018, Mathieu Desnoyers wrote:
>
>> Here is a rough prototype registering rseq(2) TLS for each thread
>> (including main), and unregistering for each thread (excluding
>&
how late do we want to
unregister it ? It's important to consider if we expect rseq to
be used by the memory allocator and within destructor callbacks.
Signed-off-by: Mathieu Desnoyers
CC: Carlos O'Donell
CC: Florian Weimer
CC: Thomas Gleixner
CC: Ben Maurer
CC: Peter Zijlstra
CC: "Paul E. McKe
how late do we want to
unregister it ? It's important to consider if we expect rseq to
be used by the memory allocator and within destructor callbacks.
Signed-off-by: Mathieu Desnoyers
CC: Carlos O'Donell
CC: Florian Weimer
CC: Thomas Gleixner
CC: Ben Maurer
CC: Peter Zijlstra
CC: "Paul E. McKe
Signed-off-by: Mathieu Desnoyers
CC: "Paul E. McKenney"
CC: Peter Zijlstra
CC: Paul Turner
CC: Thomas Gleixner
CC: Andy Lutomirski
CC: Andi Kleen
CC: Dave Watson
CC: Chris Lameter
CC: Ingo Molnar
CC: "H. Peter Anvin"
CC: Ben Maurer
CC: Steven Rostedt
CC: Josh
Signed-off-by: Mathieu Desnoyers
CC: "Paul E. McKenney"
CC: Peter Zijlstra
CC: Paul Turner
CC: Thomas Gleixner
CC: Andy Lutomirski
CC: Andi Kleen
CC: Dave Watson
CC: Chris Lameter
CC: Ingo Molnar
CC: "H. Peter Anvin"
CC: Ben Maurer
CC: Steven Rostedt
CC: Josh
.
Fix this by using a 64-bit register to calculate the address of the
loop counter variables as an offset from rip.
Signed-off-by: Mathieu Desnoyers
Cc: # v4.18
Cc: Thomas Gleixner
Cc: Joel Fernandes
Cc: Peter Zijlstra
Cc: Catalin Marinas
Cc: Dave Watson
Cc: Will Deacon
Cc: Shuah Khan
Cc
.
Fix this by using a 64-bit register to calculate the address of the
loop counter variables as an offset from rip.
Signed-off-by: Mathieu Desnoyers
Cc: # v4.18
Cc: Thomas Gleixner
Cc: Joel Fernandes
Cc: Peter Zijlstra
Cc: Catalin Marinas
Cc: Dave Watson
Cc: Will Deacon
Cc: Shuah Khan
Cc
erneath it ?
Thanks,
Mathieu
>
> Vasily Gorbik (1):
> rseq/selftests: add __rseq_abi misalignment check
>
> tools/testing/selftests/rseq/rseq.c | 19 +++
> .../testing/selftests/rseq/run_param_test.sh | 4 ++--
> 2 files changed, 21 inserti
erneath it ?
Thanks,
Mathieu
>
> Vasily Gorbik (1):
> rseq/selftests: add __rseq_abi misalignment check
>
> tools/testing/selftests/rseq/rseq.c | 19 +++
> .../testing/selftests/rseq/run_param_test.sh | 4 ++--
> 2 files changed, 21 inserti
ucture has a fixed size of 32 bytes."
> Now it says structure size is passed with every syscalls. Now I'm
> confused (but maybe that's caused by reading source, not formatted
> document).
This is the layout for struct rseq_cs version 0.
The variable-sized structure is struct rseq.
struct rseq is typically in a TLS, and contains a "rseq_cs" field
which is a pointer to the struct rseq_cs descriptor describing the
currently active rseq critical section.
Hoping this clears up the confusion.
Thanks for the review!
Mathieu
>
> Best regards,
> Pavel
>
> --
> (english) http://www.livejournal.com/~pavelmachek
> (cesky, pictures)
> http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com
ucture has a fixed size of 32 bytes."
> Now it says structure size is passed with every syscalls. Now I'm
> confused (but maybe that's caused by reading source, not formatted
> document).
This is the layout for struct rseq_cs version 0.
The variable-sized structure is struct rseq.
struct rseq is typically in a TLS, and contains a "rseq_cs" field
which is a pointer to the struct rseq_cs descriptor describing the
currently active rseq critical section.
Hoping this clears up the confusion.
Thanks for the review!
Mathieu
>
> Best regards,
> Pavel
>
> --
> (english) http://www.livejournal.com/~pavelmachek
> (cesky, pictures)
> http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com
aligning struct rseq on larger boundaries,
it is free to do so. It will still respect the requirement of alignment on
32 bytes boundaries.
Thoughts ?
Thanks,
Mathieu
>
> Thanks,
> Pavel
>
> --
> (english) http://www.livejournal.com/~pavelmachek
> (cesky, pictures)
> http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com
aligning struct rseq on larger boundaries,
it is free to do so. It will still respect the requirement of alignment on
32 bytes boundaries.
Thoughts ?
Thanks,
Mathieu
>
> Thanks,
> Pavel
>
> --
> (english) http://www.livejournal.com/~pavelmachek
> (cesky, pictures)
> http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com
> Signed-off-by: Rafael David Tinoco
> Cc: #v4.17
Acked-by: Mathieu Desnoyers
Thanks!
Mathieu
> ---
> .../selftests/membarrier/membarrier_test.c| 69 +++
> 1 file changed, 41 insertions(+), 28 deletions(-)
>
> diff --git a/tools/testing/selftests/memba
> Signed-off-by: Rafael David Tinoco
> Cc: #v4.17
Acked-by: Mathieu Desnoyers
Thanks!
Mathieu
> ---
> .../selftests/membarrier/membarrier_test.c| 69 +++
> 1 file changed, 41 insertions(+), 28 deletions(-)
>
> diff --git a/tools/testing/selftests/memba
f rseq thread registration into
glibc.
Once this is settled, I plan to provide a librseq which will contain headers
and documentation on how to use rseq without having to re-create the low-level
assembly every time.
Does this plan make sense to you ?
Thanks,
Mathieu
--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com
f rseq thread registration into
glibc.
Once this is settled, I plan to provide a librseq which will contain headers
and documentation on how to use rseq without having to re-create the low-level
assembly every time.
Does this plan make sense to you ?
Thanks,
Mathieu
--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com
sing irq tracepoints with SRCU implementation (this series):
> Mean: 3.020 (I would consider the improvement against the "without
> this series" case as just noise).
> Median: 3.013
> Std Dev: 0.033
>
> [1] https://patchwork.kernel.org/patch/10344297/
>
sing irq tracepoints with SRCU implementation (this series):
> Mean: 3.020 (I would consider the improvement against the "without
> this series" case as just noise).
> Median: 3.013
> Std Dev: 0.033
>
> [1] https://patchwork.kernel.org/patch/10344297/
>
visible to
>> either sched or srcu tracepoint users.
>
> Yeah, but I think it is still good to change the order. It doesn't
> hurt, and in my opinion makes the code a bit more robust.
I don't mind. It makes the code more regular. It does not change
anything wrt robustness here tho
visible to
>> either sched or srcu tracepoint users.
>
> Yeah, but I think it is still good to change the order. It doesn't
> hurt, and in my opinion makes the code a bit more robust.
I don't mind. It makes the code more regular. It does not change
anything wrt robustness here tho
queued
>>
>> Here tracepoint_synchronize_unregister() returned before the srcu
>> portion ran.
>
> I just read the comment that goes with that function; the order doesn't
> matter. All we want to ensure is that the unregistration is visible to
> either sched or srcu tracepoint users.
Exactly, the order does not matter here.
Thanks,
Mathieu
--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com
801 - 900 of 7290 matches
Mail list logo