Re: Restartable Sequences system call merged into Linux

From: Mathieu Desnoyers
Date: Wed Jun 13 2018 - 15:53:46 EST


----- On Jun 13, 2018, at 12:14 PM, Mathieu Desnoyers mathieu.desnoyers@xxxxxxxxxxxx wrote:

> ----- On Jun 13, 2018, at 7:48 AM, heiko carstens heiko.carstens@xxxxxxxxxx
> wrote:
[...]
>>
>> Is there any documentation available of what is the exact semantics of the
>> functions that have to be implemented for additional architectures?
>
> It's documented on top of kernel/rseq.c:
>

[...]

>
> The first architecture implemented was rseq-x86.h. Boqun derived rseq-ppc.h
> from it, and I derived rseq-arm.h from it. Feel free to start from whichever
> architecture has the instruction set which is most similar to yours.

One more thing: adding full support for your architecture to the rseq selftests
also requires to extend tools/testing/selftests/rseq/param_test.c to implement
the RSEQ_INJECT_INPUT, INJECT_ASM_REG, RSEQ_INJECT_CLOBBER and RSEQ_INJECT_ASM
macros for your architecture. Those are simply defining the inline asm operands
and assembly code needed to inject delay loops within the rseq critical sections,
which greatly facilitates testing.

Thanks,

Mathieu

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