Messages in this thread | | | Date | Tue, 4 Jan 2011 12:03:38 -0200 | From | Arnaldo Carvalho de Melo <> | Subject | Re: [GIT PULL||RFC 00/11] perf library and regression testing improvements |
| |
Em Tue, Jan 04, 2011 at 02:59:00PM +0100, Stephane Eranian escreveu: > Arnaldo, > > The version of perf at tip-x86 commit 9274b36, segfaults for me: > > $ gdb perf > (gdb) r stat date > > Program received signal SIGSEGV, Segmentation fault. > [Switching to Thread 0x7fdc602eb6e0 (LWP 4590)] > cmd_stat (argc=1, argv=0x7fff6fa2a9f0, prefix=<value optimized out>) > at builtin-stat.c:206 > 206 update_stats(&ps->res_stats[i], count[i]); > (gdb) bt > #0 cmd_stat (argc=1, argv=0x7fff6fa2a9f0, prefix=<value optimized > out>) at builtin-stat.c:206 > #1 0x0000000000405c8b in handle_internal_command (argc=2, > argv=0x7fff6fa2a9f0) at perf.c:286 > #2 0x00000000004060b0 in main (argc=2, argv=0x7fff6fa2a680) at perf.c:403 > > Most like ps is NULL.
[acme@felicio linux]$ perf stat date | head -5 Tue Jan 4 12:03:05 BRST 2011
Performance counter stats for 'date':
4,525 cache-misses # 7.640 M/sec 343,171 cache-references # 579.405 M/sec 14,853 branch-misses # 8.214 % 180,833 branches # 305.316 M/sec 897,837 instructions # 0.000 IPC (scaled from 67.67%) <not counted> cycles 201 page-faults # 0.339 M/sec 1 CPU-migrations # 0.002 M/sec 1 context-switches # 0.002 M/sec 0.592282 task-clock-msecs # 0.583 CPUs
0.001015291 seconds time elapsed
[acme@felicio linux]$
Re-reading the code now, thanks!
- Arnaldo > On Tue, Jan 4, 2011 at 8:16 AM, Ingo Molnar <mingo@elte.hu> wrote: > > > > * Arnaldo Carvalho de Melo <acme@infradead.org> wrote: > > > >> Hi Ingo, Peter et al, > >> > >> Trying to simplify using the API for tools and more specifically for > >> 'perf test' regression tests, please take a look, perhaps starting from the last > >> changeset, that implements a regression test using the resulting library API. > >> > >> It also reduces the 'perf' tool footprint by not using hard coded array > >> sizes, more need to be done, but should be a good start, one changeset shows a > >> good reduction in BSS use. > >> > >> Suggestions for naming most welcome, I thought about using "event__", > >> but that is taken, "perf_event__", but thought it would clash with "event_t", > >> so used the jargon used for the '-e' parameters: "Event Selector", but don't > >> like it that much, what do you think? > >> > >> Writing the first regression test I think there are more ways to simplify, > >> on top of these, like not requiring a thread_map, i.e. passing NULL for that > >> parameter would mean: self-monitor, etc. > >> > >> If you are pleased as-is, please pull from: > >> > >> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux-2.6 perf/test > >> > >> Regards, > >> > >> - Arnaldo > >> > >> Arnaldo Carvalho de Melo (11): > >> perf tools: Introduce event selectors > >> perf evsel: Adopt MATCH_EVENT macro from 'stat' > >> perf util: Move do_read from session to util > >> perf evsel: Delete the event selectors at exit > >> perf evsel: Steal the counter reading routines from stat > >> perf evsel: Introduce per cpu and per thread open helpers > >> perf tools: Refactor cpumap to hold nr and the map > >> perf tools: Refactor all_tids to hold nr and the map > >> perf evsel: Use {cpu,thread}_map to shorten list of parameters > >> perf evsel: Auto allocate resources needed for some methods > >> perf test: Add test for counting open syscalls > >> > >> tools/perf/Makefile | 4 + > >> tools/perf/builtin-record.c | 152 +++++++-------- > >> tools/perf/builtin-stat.c | 368 +++++++++++++++--------------------- > >> tools/perf/builtin-test.c | 83 ++++++++ > >> tools/perf/builtin-top.c | 221 ++++++++++++---------- > >> tools/perf/perf.c | 2 + > >> tools/perf/util/cpumap.c | 123 +++++++++--- > >> tools/perf/util/cpumap.h | 10 +- > >> tools/perf/util/evsel.c | 186 ++++++++++++++++++ > >> tools/perf/util/evsel.h | 115 +++++++++++ > >> tools/perf/util/header.c | 15 +- > >> tools/perf/util/header.h | 3 +- > >> tools/perf/util/parse-events.c | 58 ++++-- > >> tools/perf/util/parse-events.h | 18 ++- > >> tools/perf/util/session.c | 22 +-- > >> tools/perf/util/session.h | 1 - > >> tools/perf/util/thread.c | 43 +++-- > >> tools/perf/util/thread.h | 15 ++- > >> tools/perf/util/trace-event-info.c | 30 ++-- > >> tools/perf/util/trace-event.h | 5 +- > >> tools/perf/util/util.c | 17 ++ > >> tools/perf/util/util.h | 1 + > >> tools/perf/util/xyarray.c | 20 ++ > >> tools/perf/util/xyarray.h | 20 ++ > >> 24 files changed, 1013 insertions(+), 519 deletions(-) > >> create mode 100644 tools/perf/util/evsel.c > >> create mode 100644 tools/perf/util/evsel.h > >> create mode 100644 tools/perf/util/xyarray.c > >> create mode 100644 tools/perf/util/xyarray.h > > > > Pulled, thanks a lot Arnaldo! > > > > Ingo > > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |