Re: [RFC PATCH 0/4] perf: Custom contexts

From: Arnaldo Carvalho de Melo
Date: Mon Mar 14 2011 - 17:03:30 EST


Em Mon, Mar 14, 2011 at 09:51:02PM +0100, Frederic Weisbecker escreveu:
> On Mon, Mar 14, 2011 at 05:43:41PM -0300, Arnaldo Carvalho de Melo wrote:
> > > - Count instructions inside softirqs, outside softirqs and everywhere:

> > > $ perf stat -e irq:softirq_entry -e irq:softirq_exit \
> > > -e instructions --starter 0 --stopper 1 --enable-on-starter \
> > > -e instructions --starter 1 --stopper 0 \
> > > -e instructions ./perf bench sched messaging

> > $ perf record -e instructions@irq:softirq_entry..irq:softirq_exit \
> > -e instructions@irq:softirq_exit..irq:softirq_entry \
> > -e instructions \
> > perf bench sched messaging

> Agreed that's nice but may be more as a shortcut than a full replacement?
> Otherwise it becomes hard or unreadable to define a filter on a starter. Or
> a starter on a starter.

Sure, multiple ways to express ranges probably is ok, with more complex
ones for more complex cases, like the way you did, that first defines an
evlist that is the set of starters/stoppers and then evsel->evidx to add
starters/stoppers to later events.

But starter on a starter? Couldn't grok, could you provide an example?

But I could think of this as a way to express filters:

$ perf record -e instructions@irq:irq:irq_handler_entry(irq=eth0)..irq:irq_handler_exit(\1) \
-e instructions \
netperf

looks quite natural for someone used to git and sed, i.e. developers :)

- Arnaldo
--
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/