diff mbox series

[5/6] kselftest/arm64: Provide a SIGUSR1 handler in the kernel mode FP stress test

Message ID 20241023-arm64-fp-stress-irritator-v1-5-a51af298d449@kernel.org
State Superseded
Headers show
Series kselftest/arm64: Test floating point signal context restore in fp-stress | expand

Commit Message

Mark Brown Oct. 23, 2024, 8:38 p.m. UTC
The other stress test programs provide a SIGUSR1 handler which modifies the
live register state in order to validate that signal context is being
restored during signal return. While we can't usefully do this when testing
kernel mode FP usage provide a handler for SIGUSR1 which just counts the
number of signals like we do for SIGUSR2, allowing fp-stress to treat all
the test programs uniformly.

Signed-off-by: Mark Brown <broonie@kernel.org>
---
 tools/testing/selftests/arm64/fp/kernel-test.c | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Mark Rutland Nov. 6, 2024, 11:32 a.m. UTC | #1
On Wed, Oct 23, 2024 at 09:38:33PM +0100, Mark Brown wrote:
> The other stress test programs provide a SIGUSR1 handler which modifies the
> live register state in order to validate that signal context is being
> restored during signal return. While we can't usefully do this when testing
> kernel mode FP usage provide a handler for SIGUSR1 which just counts the
> number of signals like we do for SIGUSR2, allowing fp-stress to treat all
> the test programs uniformly.
> 
> Signed-off-by: Mark Brown <broonie@kernel.org>

Acked-by: Mark Rutland <mark.rutland@arm.com>

Mark.

> ---
>  tools/testing/selftests/arm64/fp/kernel-test.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/tools/testing/selftests/arm64/fp/kernel-test.c b/tools/testing/selftests/arm64/fp/kernel-test.c
> index e8da3b4cbd23202c6504ffd8043f8ef351d739f6..859345379044fc287458644309d66cf5f3d8bdf5 100644
> --- a/tools/testing/selftests/arm64/fp/kernel-test.c
> +++ b/tools/testing/selftests/arm64/fp/kernel-test.c
> @@ -267,6 +267,10 @@ int main(void)
>  		       strerror(errno), errno);
>  
>  	sa.sa_sigaction = handle_kick_signal;
> +	ret = sigaction(SIGUSR1, &sa, NULL);
> +	if (ret < 0)
> +		printf("Failed to install SIGUSR1 handler: %s (%d)\n",
> +		       strerror(errno), errno);
>  	ret = sigaction(SIGUSR2, &sa, NULL);
>  	if (ret < 0)
>  		printf("Failed to install SIGUSR2 handler: %s (%d)\n",
> 
> -- 
> 2.39.2
>
diff mbox series

Patch

diff --git a/tools/testing/selftests/arm64/fp/kernel-test.c b/tools/testing/selftests/arm64/fp/kernel-test.c
index e8da3b4cbd23202c6504ffd8043f8ef351d739f6..859345379044fc287458644309d66cf5f3d8bdf5 100644
--- a/tools/testing/selftests/arm64/fp/kernel-test.c
+++ b/tools/testing/selftests/arm64/fp/kernel-test.c
@@ -267,6 +267,10 @@  int main(void)
 		       strerror(errno), errno);
 
 	sa.sa_sigaction = handle_kick_signal;
+	ret = sigaction(SIGUSR1, &sa, NULL);
+	if (ret < 0)
+		printf("Failed to install SIGUSR1 handler: %s (%d)\n",
+		       strerror(errno), errno);
 	ret = sigaction(SIGUSR2, &sa, NULL);
 	if (ret < 0)
 		printf("Failed to install SIGUSR2 handler: %s (%d)\n",