Re: [RFC PATCH 2/2] Revert "csky: Add support for restartable sequence"

From: Mathieu Desnoyers
Date: Fri Sep 09 2022 - 16:01:37 EST


On 2021-07-26 12:28, Mathieu Desnoyers wrote:
----- On Jul 26, 2021, at 12:10 PM, Guo Ren guoren@xxxxxxxxxx wrote:

Hi Mathieu,

Sorry for forgetting to CC you in the last patch, and that patch has
been merged into master which has the problem of syscall restart.

I still want to keep rseq feature for csky, and implement the
RSEQ_SKIP_FASTPATH for self-test, it that okay?

No, the RSEQ_SKIP_FASTPATH is the one special-case of test build which
skips building rseq critical sections entirely. This leaves out any
relevant testing of rseq per-se. With what we have in the upstream
selftests, I expect this test configuration to abort at runtime because
no slow-path fallbacks are available when the fastpath is disabled.

The asm glue to test rseq user-space really needs to be implemented
for any useful testing to be done here.

Unless that asm glue is contributed, none of the rseq logic is actually
tested on that architecture.

Considering the extremely-hard-to-debug nature of races with a broken
rseq kernel implementation, proper testing coverage is paramount, so I
still recommend the revert unless the selftests user-space asm glue is
contributed for C-Sky.

Hi Guo,

A friendly ping after 1.5 year about the fact that the selftests code is
still missing for the csky architecture. So there is no way to validate
that the kernel pieces that were merged actually work on that architecture.

What is the timeline for contribution of the missing bits needed to enable
those tests ?

Here are the required header files:

tools/testing/selftests/rseq/rseq-csky.h
tools/testing/selftests/rseq/rseq-csky-thread-pointer.h (only if __builtin_thread_pointer is not implemented by gcc)

I'm open to suggestions from other rseq co-maintainers on how to best address
this situation.

Thanks,

Mathieu

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