diff --git a/[refs] b/[refs] index 845183100bc6..106d87fc8d54 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: e4a338d05df93ab1ebf291aca1e753064319d301 +refs/heads/master: f506b3dc0ec454a16d40cab9ee5d75435b39dc50 diff --git a/trunk/kernel/events/core.c b/trunk/kernel/events/core.c index c09767f7db3e..d863b3c057bb 100644 --- a/trunk/kernel/events/core.c +++ b/trunk/kernel/events/core.c @@ -5028,6 +5028,14 @@ static int __perf_event_overflow(struct perf_event *event, int nmi, else perf_event_output(event, nmi, data, regs); + if (event->fasync && event->pending_kill) { + if (nmi) { + event->pending_wakeup = 1; + irq_work_queue(&event->pending); + } else + perf_event_wakeup(event); + } + return ret; }