hi,
adding support to read sample values through the PERF_SAMPLE_READ
sample type. It's now possible to specify 'S' modifier for an event
and get its sample value by PERF_SAMPLE_READ.

For group the 'S' modifier will enable sampling only for the leader
and read all the group member by PERF_SAMPLE_READ smple type with
PERF_FORMAT_GROUP read format.

This patchset is based on group report patches by Namhyung Kim:
http://lwn.net/Articles/518569/

Example:
(making sample on cycles, reading both cycles and cache-misses
 by PERF_SAMPLE_READ/PERF_FORMAT_GROUP)

  # ./perf record -e '{cycles,cache-misses}:S' ls
  ...

  # ./perf report --group --show-total-period --stdio
  # ========
  # captured on: Sat Oct 20 16:53:39 2012
  ...
  # group: {cycles,cache-misses}
  # ========
  #
  # Samples: 86  of event 'anon group { cycles, cache-misses }'
  # Event count (approx.): 34863674
  #
  #         Overhead                    Period  Command      Shared Object      
                      Symbol
  # ................  ........................  .......  .................  
................................
  #
      16.56%  19.47%       5773450         475       ls  [kernel.kallsyms]  [k] 
native_sched_clock          
      10.87%   0.74%       3789088          18       ls  [kernel.kallsyms]  [k] 
rtl8169_interrupt           
       9.82%  15.86%       3423364         387       ls  [kernel.kallsyms]  [k] 
mark_lock                   
       8.43%  17.75%       2938384         433       ls  ld-2.14.90.so      [.] 
do_lookup_x                 
       6.79%  20.86%       2365622         509       ls  ls                 [.] 
calculate_columns           
       6.36%   0.61%       2216808          15       ls  [kernel.kallsyms]  [k] 
lock_release                
  ...


Attached patches:
  01/11 perf: Add PERF_EVENT_IOC_ID ioctl to return event ID
  02/11 perf: Do not get values from disabled counters in group format read
  03/11 perf tool: Use PERF_EVENT_IOC_ID perf ioctl to read event id
  04/11 perf tool: Add support for parsing PERF_SAMPLE_READ sample type
  05/11 perf tool: Fix event ID retrieval for group format read case
  06/11 perf tool: Add perf_evlist__id2sid function to get event ID related data
  07/11 perf tool: Add PERF_SAMPLE_READ sample related processing
  08/11 perf tool: Add 'S' event/group modifier to read sample value
  09/11 perf test: Add parse events tests for leader sampling
  10/11 perf tool: Display period values for all group members
  11/11 perf record: Fix mmap error output condition


wbr,
jirka

Cc: Arnaldo Carvalho de Melo <a...@ghostprotocols.net>
Cc: Peter Zijlstra <a.p.zijls...@chello.nl>
Cc: Ingo Molnar <mi...@elte.hu>
Cc: Paul Mackerras <pau...@samba.org>
Cc: Corey Ashford <cjash...@linux.vnet.ibm.com>
Cc: Frederic Weisbecker <fweis...@gmail.com>
Cc: Namhyung Kim <namhy...@kernel.org>
---
 include/linux/perf_event.h             |   1 +
 kernel/events/core.c                   |  27 ++++++++++++++++++---
 tools/perf/Documentation/perf-list.txt |   1 +
 tools/perf/builtin-record.c            |   3 ++-
 tools/perf/ui/hist.c                   |  46 
+++++++++++++++++++++++++++++++----
 tools/perf/util/event.h                |  18 ++++++++++++++
 tools/perf/util/evlist.c               |  82 
++++++++++++++++++++++++++++++++++++++++++++++++++------------
 tools/perf/util/evlist.h               |   4 ++++
 tools/perf/util/evsel.c                |  54 
+++++++++++++++++++++++++++++++++++++++--
 tools/perf/util/evsel.h                |   4 ++++
 tools/perf/util/parse-events-test.c    | 117 
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 tools/perf/util/parse-events.c         |   6 +++++
 tools/perf/util/parse-events.l         |   2 +-
 tools/perf/util/session.c              | 110 
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 14 files changed, 448 insertions(+), 27 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to