diff options
author | Sebastian Andrzej Siewior <bigeasy@linutronix.de> | 2024-07-04 20:03:37 +0300 |
---|---|---|
committer | Peter Zijlstra <peterz@infradead.org> | 2024-07-09 14:26:35 +0300 |
commit | c5d93d23a26012a98b77f9e354ab9b3afd420059 (patch) | |
tree | 5912914d793690caa734d5f64e6ad8d3e0c85d42 /tools/perf/scripts/python/exported-sql-viewer.py | |
parent | 466e4d801cd438a1ab2c8a2cce1bef6b65c31bbb (diff) | |
download | linux-c5d93d23a26012a98b77f9e354ab9b3afd420059.tar.xz |
perf: Enqueue SIGTRAP always via task_work.
A signal is delivered by raising irq_work() which works from any context
including NMI. irq_work() can be delayed if the architecture does not
provide an interrupt vector. In order not to lose a signal, the signal
is injected via task_work during event_sched_out().
Instead going via irq_work, the signal could be added directly via
task_work. The signal is sent to current and can be enqueued on its
return path to userland.
Queue signal via task_work and consider possible NMI context. Remove
perf_event::pending_sigtrap and and use perf_event::pending_work
instead.
Reported-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Tested-by: Marco Elver <elver@google.com>
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Link: https://lore.kernel.org/r/20240704170424.1466941-4-bigeasy@linutronix.de
Diffstat (limited to 'tools/perf/scripts/python/exported-sql-viewer.py')
0 files changed, 0 insertions, 0 deletions