From cca27058b764491bf6b6ed6a544a0433a688d4da Mon Sep 17 00:00:00 2001 From: Heiko Carstens Date: Thu, 16 Apr 2020 12:10:07 +0200 Subject: [PATCH] s390_runtime_instr.2: Document signum argument behavior change Document that the signum argument is ignored in newer kernels, but that user space should pass a valid real-time signal number for backwards compatibility. Cowritten-by: Eugene Syromyatnikov Signed-off-by: Heiko Carstens Signed-off-by: Eugene Syromyatnikov Signed-off-by: Michael Kerrisk --- man2/s390_runtime_instr.2 | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/man2/s390_runtime_instr.2 b/man2/s390_runtime_instr.2 index 91d1afb77..e6036592f 100644 --- a/man2/s390_runtime_instr.2 +++ b/man2/s390_runtime_instr.2 @@ -48,9 +48,11 @@ argument controls whether run-time instrumentation is started The .IR signum argument specifies the number of a real-time signal. -The real-time signal is sent to the thread if the run-time instrumentation -buffer is full or if the run-time-instrumentation-halted interrupt -occurred. +This argument was used to specify a signal number that should be delivered +to the thread if the run-time instrumentation buffer was full or if +the run-time-instrumentation-halted interrupt had occurred. +It has no effect beginning with Linux 4.4, since support for signalling +was never used and kernel support was removed. .SH RETURN VALUE On success, .BR s390_runtime_instr () @@ -67,9 +69,16 @@ is set to one of the error codes listed below. .B EINVAL The value specified in .IR command -is not a valid command or the value specified in +is not a valid command. +.TP +.B EINVAL +The value specified in .IR signum is not a real-time signal number. +From Linux 4.4 onwards, the +.IR signum +argument has no effect, so that an invalid signal number will not result in an +error. .TP .B ENOMEM Allocating memory for the run-time instrumentation control block failed. @@ -91,6 +100,13 @@ The header file is available .\" commit df2f815a7df7edb5335a3bdeee6a8f9f6f9c35c4 since Linux 4.16. +.PP +Support for signalling was removed with Linux 4.4. +With Linux 4.4 also the check whether +.IR signum +is a valid real-time signal was removed. +For backwards compatibility with old kernels it is recommended to pass a valid +real-time signal number and install a handler for it. .SH SEE ALSO .BR syscall (2), .BR signal (7)