diff options
author | Kyle Huey <me@kylehuey.com> | 2024-04-13 17:16:18 +0300 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2024-04-14 23:26:32 +0300 |
commit | fd20bb51ed3913e0d25085eb79e8c0babfb4ee28 (patch) | |
tree | dc04a0e50f99f43e9b9dd4f194cdd26109b9b815 /kernel/events | |
parent | 4a013980666857c1eb2df6a2137817caa21d38a6 (diff) | |
download | linux-fd20bb51ed3913e0d25085eb79e8c0babfb4ee28.tar.xz |
perf/ring_buffer: Trigger IO signals for watermark_wakeup
perf_output_wakeup() already marks the perf event fd available for polling.
Trigger IO signals with FASYNC too.
Signed-off-by: Kyle Huey <khuey@kylehuey.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Link: https://lore.kernel.org/r/20240413141618.4160-3-khuey@kylehuey.com
Diffstat (limited to 'kernel/events')
-rw-r--r-- | kernel/events/ring_buffer.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/kernel/events/ring_buffer.c b/kernel/events/ring_buffer.c index 60ed43d1c29e..4013408ce012 100644 --- a/kernel/events/ring_buffer.c +++ b/kernel/events/ring_buffer.c @@ -22,6 +22,10 @@ static void perf_output_wakeup(struct perf_output_handle *handle) atomic_set(&handle->rb->poll, EPOLLIN); handle->event->pending_wakeup = 1; + + if (*perf_event_fasync(handle->event) && !handle->event->pending_kill) + handle->event->pending_kill = POLL_IN; + irq_work_queue(&handle->event->pending_irq); } |