From: Peter Zijlstra on
On Tue, 2010-05-11 at 21:55 +0200, stephane eranian wrote:
> Events are also grouped in this example. Both this same issue exists
> also when only
> one event is used. I suspect an update_event_times() or
> update_group_times() is also
> missing on the sampling path in perf_overflow_handler().

Hrmm, you're right, except fixing that is non-trivial.
update_event_times() wants to be called with ctx->lock held and we can't
do that from NMI context.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Peter Zijlstra on
On Tue, 2010-05-11 at 22:23 +0200, Stephane Eranian wrote:
> On Tue, May 11, 2010 at 10:11 PM, Peter Zijlstra <peterz(a)infradead.org> wrote:
> > On Tue, 2010-05-11 at 21:55 +0200, stephane eranian wrote:
> >> Events are also grouped in this example. Both this same issue exists
> >> also when only
> >> one event is used. I suspect an update_event_times() or
> >> update_group_times() is also
> >> missing on the sampling path in perf_overflow_handler().
> >
> > Hrmm, you're right, except fixing that is non-trivial.
> > update_event_times() wants to be called with ctx->lock held and we can't
> > do that from NMI context.
> >
> Why do you need the lock when the event is running on a CPU in NMI context?
> What action issued remotely could modify the data used by this function without
> the need for IPI?

Not sure, would at the very least have to verify that. I'll try and have
a look.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/