Messages in this thread | | | Date | Sat, 15 Feb 2014 10:58:43 +0100 | From | Peter Zijlstra <> | Subject | Re: [PATCH] perf, nmi: fix unknown NMI warning |
| |
On Fri, Feb 14, 2014 at 04:44:08PM -0800, Andi Kleen wrote: > > Make intel_pmu_handle_irq() take the full exit path when returning early.
This reminds me of the late-ack stuff;
The way I understand interrupts to work is that when you raise the interrupt it gets latched, when you ACK you drop the latch. Then when it gets re-raised while its still in progress, it gets latched again and the irq-enable at the end of the running handler will get it to trigger again.
So by late-ACK-ing the PMI we can miss PMIs that happen between enabling the PMU and ACKing the PMI.
We should either re-check the overflow mask after the ACK or do the ACK while the PMU is disabled.
| |