Messages in this thread |  | | Date | Mon, 14 Mar 2011 18:03:15 -0300 | From | Arnaldo Carvalho de Melo <> | Subject | Re: [RFC PATCH 0/4] perf: Custom contexts |
| |
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
|  |