lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20110104140338.GA19989@ghostprotocols.net>
Date:	Tue, 4 Jan 2011 12:03:38 -0200
From:	Arnaldo Carvalho de Melo <acme@...radead.org>
To:	Stephane Eranian <eranian@...gle.com>
Cc:	linux-kernel@...r.kernel.org,
	Frederic Weisbecker <fweisbec@...il.com>,
	Han Pingtian <phan@...hat.com>, Mike Galbraith <efault@....de>,
	Paul Mackerras <paulus@...ba.org>,
	Peter Zijlstra <peterz@...radead.org>,
	Tom Zanussi <tzanussi@...il.com>,
	Thomas Gleixner <tglx@...utronix.de>, mingo@...e.hu
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@...icio 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@...icio linux]$

Re-reading the code now, thanks!

- Arnaldo
 
> On Tue, Jan 4, 2011 at 8:16 AM, Ingo Molnar <mingo@...e.hu> wrote:
> >
> > * Arnaldo Carvalho de Melo <acme@...radead.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@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ