Re: [PATCH 2/2 -tip] perf_counter: parse-events.c introduce aliasmember in event_symbol

From: Ingo Molnar
Date: Mon Jun 22 2009 - 10:10:53 EST



* Jaswinder Singh Rajput <jaswinder@xxxxxxxxxx> wrote:

> On Mon, 2009-06-22 at 13:32 +0200, Ingo Molnar wrote:
>
> > Another nice thing would be for 'perf list' to actually start each
> > counter and stop it - and see whether it ticks. Perhaps that could
> > be a new sub-command: 'perf test' ?
> >
> > New 'perf' subcommands are added easily:
> >
> > create a new tools/perf/builtin-foo.c file, add it to
> > command-list.txt and to the Makefile - add it to perf.c's array of
> > built-in commands and add a Documentation/perf-foo.txt file to
> > generate manpages and usage strings for it.
> >
>
> Ok this is just a ugly quick hack to get the idea what actually you are
> looking for :
>
> [RFC] perf_counter tools: introduce perf test to test each event for ticks
>
> perf test to Test all events for whether it ticks
>
> $ perf test
>
> Performance counter stats for 'test':
>
> task-clock-msecs Tick
> context-switches Tick
> CPU-migrations Tick
> page-faults Tick
> cycles Tick
> instructions Tick
> cache-references Tick
> cache-misses Tick
>
> 0.007693869 seconds time elapsed.

yeah, somethig like that. I'd suggest to print out the actual
measured events:

cache-references 10123 events
cache-misses 15 events

and if something does not appear to be ticking then do something
like:

cache-misses <inactive>

I.e. 'perf test' could be a quick way both to users and to
developers to see all possible hw and sw events.

Perhaps builtin-test.c should also do specific testcases for certain
counters - say intentionally migrate to a CPU and back to see the
CPU-migration count.

Also, you seem to have copied builtin-stat.c, right? Try to
librarize as much of the functionality (into util/*) to make the
resulting linecount increase as small as possible.

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