diff options
author | Michael Petlan <mpetlan@redhat.com> | 2021-03-02 17:41:20 +0300 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2021-03-06 22:54:32 +0300 |
commit | 86a19008af5d88d5d523dbfe9b6ede11473e9a7f (patch) | |
tree | 66faab23b448d9a37bc4b90d433d8076c13b8cb1 /tools/perf/arch | |
parent | 77d02bd00cea9f1a87afe58113fa75b983d6c23a (diff) | |
download | linux-86a19008af5d88d5d523dbfe9b6ede11473e9a7f.tar.xz |
perf trace: Fix race in signal handling
Since a lot of stuff happens before the SIGINT signal handler is registered
(scanning /proc/*, etc.), on bigger systems, such as Cavium Sabre CN99xx,
it may happen that first interrupt signal is lost and perf isn't correctly
terminated.
The reproduction code might look like the following:
perf trace -a &
PERF_PID=$!
sleep 4
kill -INT $PERF_PID
The issue has been found on a CN99xx machine with RHEL-8 and the patch fixes
it by registering the signal handlers earlier in the init stage.
Suggested-by: Jiri Olsa <jolsa@redhat.com>
Signed-off-by: Michael Petlan <mpetlan@redhat.com>
Tested-by: Michael Petlan <mpetlan@redhat.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Link: https://lore.kernel.org/lkml/YEJnaMzH2ctp3PPx@kernel.org/
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/arch')
0 files changed, 0 insertions, 0 deletions