Re: [RFC PATCH for 4.15 14/14] Restartable sequences: Provide self-tests

From: Mathieu Desnoyers
Date: Tue Oct 17 2017 - 09:48:48 EST


----- On Oct 17, 2017, at 6:38 AM, Michael Ellerman mpe@xxxxxxxxxxxxxx wrote:

> Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx> writes:
>
>> ----- On Oct 15, 2017, at 10:51 PM, Michael Ellerman mpe@xxxxxxxxxxxxxx wrote:
>>
>>> Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx> writes:
>>>
>>>> Implements two basic tests of RSEQ functionality, and one more
>>>> exhaustive parameterizable test.
>>>>
>>>> The first, "basic_test" only asserts that RSEQ works moderately
>>>> correctly.
>>>> E.g. that:
>>>> - The CPUID pointer works
>>>> - Code infinitely looping within a critical section will eventually be
>>>> interrupted.
>>>> - Critical sections are interrupted by signals.
>>>>
>>>> "basic_percpu_ops_test" is a slightly more "realistic" variant,
>>>> implementing a few simple per-cpu operations and testing their
>>>> correctness.
>>>>
>>>> "param_test" is a parametrizable restartable sequences test. See
>>>> the "--help" output for usage.
>>>
>>> Thanks for providing selftests :)
>>>
>>> The Makefiles could use a little clean up:
>>> - cpu-opv doesn't need libpthread
>>> - you don't need to define your own rule just for building
>>> - use TEST_GEN_PROGS to hook into the right parts of lib.mk
>>> - .. which means you can use the clean rule in lib.mk
>>>
>>>
>>> I notice you didn't add rseq or cpu-opv to the list of TARGETS in
>>> tools/testing/selftests/Makefile, was that deliberate?
>>
>> No, I think I just copied some other selftest which perhaps did
>> not have those rules back then.
>
> OK. I don't see why these tests shouldn't be part of the default test
> run, so here's a patch to add them.

Perfect, folded that change into my series as well.

Thanks!

Mathieu

>
> cheers
>
>
> diff --git a/tools/testing/selftests/Makefile b/tools/testing/selftests/Makefile
> index ff805643b5f7..b79ef5915c74 100644
> --- a/tools/testing/selftests/Makefile
> +++ b/tools/testing/selftests/Makefile
> @@ -3,6 +3,7 @@ TARGETS += breakpoints
> TARGETS += capabilities
> TARGETS += cpufreq
> TARGETS += cpu-hotplug
> +TARGETS += cpu-opv
> TARGETS += efivarfs
> TARGETS += exec
> TARGETS += firmware
> @@ -23,6 +24,7 @@ TARGETS += nsfs
> TARGETS += powerpc
> TARGETS += pstore
> TARGETS += ptrace
> +TARGETS += rseq
> TARGETS += seccomp
> TARGETS += sigaltstack
> TARGETS += size

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