• J
    perf tools: Add 'S' event/group modifier to read sample value · 3c176311
    Jiri Olsa 提交于
    Adding 'S' event/group modifier to specify that the event value/s are
    read by PERF_SAMPLE_READ sample type processing, instead of the period
    value offered by lower layers.
    
    There's additional behaviour change for 'S' modifier being specified on
    event group:
    
    Currently all the events within a group makes samples. If user now
    specifies 'S' within group modifier, only the leader will trigger
    samples. The rest of events in the group will have sampling disabled.
    
    And same as for single events, values of all events within the group
    (including leader) are read by PERF_SAMPLE_READ sample type processing.
    
    Following example will create event group with cycles and cache-misses
    events, setting the cycles as group leader and the only event to
    actually sample. Both cycles and cache-misses event period values are
    read by PERF_SAMPLE_READ sample type processing with PERF_FORMAT_GROUP
    read format.
    
    Example:
    
      $ perf record -e '{cycles,cache-misses}:S' ls
      ...
      $ perf report --group --show-total-period --stdio
      ...
      # Samples: 36  of event 'anon group { cycles, cache-misses }'
      # Event count (approx.): 12585593
      #
      #       Overhead          Period  Command      Shared Object                      Symbol
      # ..............  ..............  .......  .................  ..........................
      #
        19.92%   1.20%  2505936     31       ls  [kernel.kallsyms]  [k] mark_held_locks
        13.74%   0.47%  1729327     12       ls  [kernel.kallsyms]  [k] sched_clock_local
        13.64%  23.72%  1716147    612       ls  ld-2.14.90.so      [.] check_match.10805
        13.12%  23.22%  1650778    599       ls  libc-2.14.90.so    [.] _nl_intern_locale_data
        11.24%  29.19%  1414554    753       ls  [kernel.kallsyms]  [k] sched_clock_cpu
         8.50%   0.35%  1070150      9       ls  [kernel.kallsyms]  [k] check_chain_key
      ...
    Signed-off-by: NJiri Olsa <jolsa@redhat.com>
    Acked-by: NNamhyung Kim <namhyung@kernel.org>
    Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
    Cc: Frederic Weisbecker <fweisbec@gmail.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Link: http://lkml.kernel.org/n/tip-iyoinu3axi11mymwnh2b7fxj@git.kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
    3c176311
evsel.c 36.8 KB