Re: [PATCH 0/4] perf: Precise task / softirq / hardirq filteredstats/profiles

From: Peter Zijlstra
Date: Fri May 21 2010 - 12:15:23 EST


On Fri, 2010-05-21 at 17:12 +0200, Ingo Molnar wrote:
> 'exclusion' is the ABI detail. The feature your patches
> implement are to allow 'softirq limited' or 'task-context
> limited' or 'hardirq profiling' - which is way cool.
>
> One thing i'd like to see in this feature is for it to
> work on pure event counting - i.e. 'perf stat' as well.

Its not really exclusion, all it does is discard samples when in the
wrong context (which happens to work reasonably well for all the
swevents, except for the timer ones).

If you really want to do exclusion you have to disable/enable on *IRQ
entry/exit, but I guess that gets to be prohibitive on costs.

Implementing it shouldn't be too hard, just add some hooks to
irq_enter() irq_exit() and __do_softirq(). Each such hook should loop
over all active events and call ->stop/->start.

The only real problem would be poking at the hrtimer events from an
hrtimer interrupt :-)

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