26 Jun, 2015

16 commits

  • Currently all the -p option PID arguments tasks values get aggregated
    and printed as single values.

    Adding --per-tasks option to print values per task.

    $ perf stat -e cycles,instructions --per-thread -p 30190,30242
    ^C
    Performance counter stats for process id '30190,30242':

    cat-30190 0 cycles
    yes-30242 3,842,525,421 cycles
    cat-30190 0 instructions
    yes-30242 10,370,817,010 instructions

    1.143155657 seconds time elapsed

    Also works under interval mode:

    $ perf stat -e cycles,instructions --per-thread -p 30190,30242 -I 1000
    # time comm-pid counts unit events
    1.000073435 cat-30190 89,058 cycles
    1.000073435 yes-30242 3,360,786,902 cycles (100.00%)
    1.000073435 cat-30190 14,066 instructions
    1.000073435 yes-30242 9,069,937,462 instructions
    2.000204830 cat-30190 0 cycles
    2.000204830 yes-30242 3,351,667,626 cycles
    2.000204830 cat-30190 0 instructions
    2.000204830 yes-30242 9,045,796,885 instructions
    ^C 2.771286639 cat-30190 0 cycles
    2.771286639 yes-30242 2,593,884,166 cycles
    2.771286639 cat-30190 0 instructions
    2.771286639 yes-30242 7,001,171,191 instructions

    It works only with -t and -p options, otherwise following error is
    printed:

    $ perf stat -e cycles --per-thread -I 1000 ls
    The --per-thread option is only available when monitoring via -p -t options.
    -p, --pid stat events on existing process id
    -t, --tid stat events on existing thread id

    Signed-off-by: Jiri Olsa
    Tested-by: Arnaldo Carvalho de Melo
    Cc: Adrian Hunter
    Cc: Andi Kleen
    Cc: David Ahern
    Cc: Namhyung Kim
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/r/1435310967-14570-23-git-send-email-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • Centralize counters print code into single print_counters function.

    Signed-off-by: Jiri Olsa
    Cc: Adrian Hunter
    Cc: Andi Kleen
    Cc: David Ahern
    Cc: Namhyung Kim
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/r/1435310967-14570-22-git-send-email-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • The init_stats function is meant to init 'struct stats'.

    Reported-by: David Ahern
    Signed-off-by: Jiri Olsa
    Cc: Adrian Hunter
    Cc: Andi Kleen
    Cc: Namhyung Kim
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/r/1435310967-14570-21-git-send-email-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • It suits better, because the function also reads counter's data.

    Also the 'print_interval' name will be used in following generalization
    of counters display.

    Signed-off-by: Jiri Olsa
    Cc: Adrian Hunter
    Cc: Andi Kleen
    Cc: David Ahern
    Cc: Namhyung Kim
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/r/1435310967-14570-20-git-send-email-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • Moving perf_stat initialization counter process code,
    to make the reading path free of processing logic.

    Signed-off-by: Jiri Olsa
    Cc: Adrian Hunter
    Cc: Andi Kleen
    Cc: David Ahern
    Cc: Namhyung Kim
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/r/1435310967-14570-18-git-send-email-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • Moving zero_per_pkg into counter process code,
    to make the reading path free of processing logic.

    Signed-off-by: Jiri Olsa
    Cc: Adrian Hunter
    Cc: Andi Kleen
    Cc: David Ahern
    Cc: Namhyung Kim
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/r/1435310967-14570-17-git-send-email-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • Separating counters reading and processing so we could use the
    processing part in following patches.

    Using simple reading via perf_evsel__read function to read counters now,
    because part of the processing was in the read_cb callback.

    Signed-off-by: Jiri Olsa
    Cc: Adrian Hunter
    Cc: Andi Kleen
    Cc: David Ahern
    Cc: Namhyung Kim
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/r/1435310967-14570-16-git-send-email-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • Moving read counters logic into single read_counters function, which
    will be called for both interval and overall processing legs.

    The reason is to split reading and processing (following patches)
    counters code, so we could read counters from other sources (like
    perf.data) and process them in the same way as 'perf stat' command does.

    Signed-off-by: Jiri Olsa
    Cc: Adrian Hunter
    Cc: Andi Kleen
    Cc: David Ahern
    Cc: Namhyung Kim
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/r/1435310967-14570-15-git-send-email-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • Moving perf_evlist__(alloc|free|reset)_stats into stat object,
    so it could be used in following patches.

    Signed-off-by: Jiri Olsa
    Cc: Adrian Hunter
    Cc: Andi Kleen
    Cc: David Ahern
    Cc: Namhyung Kim
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/r/1435310967-14570-12-git-send-email-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • Moving perf_evsel__(alloc|free)_prev_raw_counts into stat object, so it
    could be used in following patches.

    Signed-off-by: Jiri Olsa
    Cc: Adrian Hunter
    Cc: Andi Kleen
    Cc: David Ahern
    Cc: Namhyung Kim
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/r/1435310967-14570-11-git-send-email-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • Moving perf_evsel__(alloc|free|reset)_stat_priv into stat object, so it
    could be used outside stat command in following patches.

    Signed-off-by: Jiri Olsa
    Cc: Adrian Hunter
    Cc: Andi Kleen
    Cc: David Ahern
    Cc: Namhyung Kim
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/r/1435310967-14570-10-git-send-email-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • To fit in with the rest of the helpers (alloc and free).

    Signed-off-by: Jiri Olsa
    Cc: Adrian Hunter
    Cc: Andi Kleen
    Cc: David Ahern
    Cc: Namhyung Kim
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/r/1435310967-14570-9-git-send-email-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • Now that we have space for thread dimension counts, let's store it.

    Signed-off-by: Jiri Olsa
    Cc: Adrian Hunter
    Cc: Andi Kleen
    Cc: David Ahern
    Cc: Namhyung Kim
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/r/1435310967-14570-7-git-send-email-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • Switching single dimensional array of 'struct perf_counts_values'
    with xyarray object, so we could store thread dimension counts.

    Signed-off-by: Jiri Olsa
    Cc: Adrian Hunter
    Cc: Andi Kleen
    Cc: David Ahern
    Cc: Namhyung Kim
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/r/1435310967-14570-6-git-send-email-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • Introducing perf_counts function, that returns
    'struct perf_counts_values' pointer for given cpu.

    Also moving perf_counts* structures into stat.h.

    Signed-off-by: Jiri Olsa
    Cc: Adrian Hunter
    Cc: Andi Kleen
    Cc: David Ahern
    Cc: Namhyung Kim
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/r/1435310967-14570-5-git-send-email-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • Because we now propagate all evlist's cpu_maps and thread_map objects
    through all evsels, the perf_evsel__(nr_)cpus no longer need to be
    specific to stat object and check evlist and target objects.

    Signed-off-by: Jiri Olsa
    Cc: Adrian Hunter
    Cc: Andi Kleen
    Cc: David Ahern
    Cc: Namhyung Kim
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/r/1435012588-9007-8-git-send-email-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     

16 Jun, 2015

1 commit

  • Move 'struct perf_counts' allocation|free|reset code into separate
    functions.

    Signed-off-by: Jiri Olsa
    Cc: Adrian Hunter
    Cc: Andi Kleen
    Cc: David Ahern
    Cc: Namhyung Kim
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/r/1434269985-521-13-git-send-email-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     

11 Jun, 2015

1 commit

  • perf stat ignores the unsupported event and continue to count supported
    event. But if the unsupported event is group leader, perf tool will
    crash. After applying this patch, the unsupported group leader will
    error out immediately.

    Without this patch:

    $ perf stat -x, -e '{node-prefetch-refs,cycles}' -- sleep 1
    perf: util/evsel.c:1009: get_group_fd: Assertion `!(fd == -1)' failed.
    Aborted (core dumped)

    With this patch:

    $ perf stat -x, -e '{node-prefetch-refs,cycles}' -- sleep 1
    Error:
    The node-prefetch-refs event is not supported.

    Commiter note: Here I got a different output, but no core dump:

    [acme@zoo linux]$ perf stat -x, -e '{node-prefetch-refs,cycles}' -- sleep 1
    Error:
    The sys_perf_event_open() syscall returned with 22 (Invalid argument)
    for event (node-prefetch-refs).
    /bin/dmesg may provide additional information.
    No CONFIG_PERF_EVENTS=y kernel support configured?

    Signed-off-by: Kan Liang
    Tested-by: Arnaldo Carvalho de Melo
    Cc: Andi Kleen
    Link: http://lkml.kernel.org/r/1434004360-8570-1-git-send-email-kan.liang@intel.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Kan Liang
     

08 Jun, 2015

9 commits

  • Separating shadow counters code into separate object as a cleanup, but
    mainly for upcomming changes, so could use it from script command
    context.

    Signed-off-by: Jiri Olsa
    Cc: Andi Kleen
    Cc: David Ahern
    Cc: Namhyung Kim
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/r/1433341559-31848-10-git-send-email-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • As preparation for moving shadow counters code into its own object.

    Signed-off-by: Jiri Olsa
    Cc: Andi Kleen
    Cc: David Ahern
    Cc: Namhyung Kim
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/r/1433341559-31848-9-git-send-email-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • As preparation for moving shadow counters code into its own object.

    Signed-off-by: Jiri Olsa
    Cc: Andi Kleen
    Cc: David Ahern
    Cc: Namhyung Kim
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/r/1433341559-31848-8-git-send-email-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • Move shadow counters display code into separate function as preparation
    for moving it into its own object.

    Signed-off-by: Jiri Olsa
    Cc: Andi Kleen
    Cc: David Ahern
    Cc: Namhyung Kim
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/r/1433341559-31848-7-git-send-email-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • Move shadow counters reset code into separate function
    as preparation for moving it into its own object.

    Signed-off-by: Jiri Olsa
    Cc: Andi Kleen
    Cc: David Ahern
    Cc: Namhyung Kim
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/r/1433341559-31848-6-git-send-email-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • It's no longer needed, because we use nameid to recognize transaction
    events.

    Keeping it only in stat code to initialize transaction events.

    I.e. struct perf_stat::id, accessible via evsel->priv, will be only set
    for transaction related events.

    Signed-off-by: Jiri Olsa
    Cc: Andi Kleen
    Cc: David Ahern
    Cc: Namhyung Kim
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/r/1433341559-31848-5-git-send-email-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • We can use already existing parse_events interface.

    Both transaction_attrs and transaction_limited_attrs are changed to be
    single strings.

    Signed-off-by: Jiri Olsa
    Cc: Andi Kleen
    Cc: David Ahern
    Cc: Namhyung Kim
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/r/1433341559-31848-4-git-send-email-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • Using perf_stat::id to check for transaction events, instead of current
    position based way.

    Signed-off-by: Jiri Olsa
    Cc: Andi Kleen
    Cc: David Ahern
    Cc: Namhyung Kim
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/r/1433341559-31848-3-git-send-email-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • We need fast way to identify evsel as transaction event for shadow
    counters computation. Currently we are using possition (in evlist) based
    way.

    Adding 'id' into 'struct perf_stat' so it can carry transaction event ID
    and we can use it for shadow counters computations.

    Signed-off-by: Jiri Olsa
    Tested-by: Arnaldo Carvalho de Melo
    Cc: Andi Kleen
    Cc: David Ahern
    Cc: Namhyung Kim
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/r/20150604135055.GB23625@krava.redhat.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     

29 Apr, 2015

6 commits

  • Separating metrics values for exclude_idle bit.

    Signed-off-by: Jiri Olsa
    Acked-by: Namhyung Kim
    Cc: Andi Kleen
    Cc: David Ahern
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: William Cohen
    Link: http://lkml.kernel.org/r/1428441919-23099-7-git-send-email-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • Separating metrics values for guest and host, so we get proper values.

    Signed-off-by: Jiri Olsa
    Acked-by: Namhyung Kim
    Cc: Andi Kleen
    Cc: David Ahern
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: William Cohen
    Link: http://lkml.kernel.org/r/1428441919-23099-6-git-send-email-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • Separating metrics values for exclude_hv bit.

    Signed-off-by: Jiri Olsa
    Acked-by: Namhyung Kim
    Cc: Andi Kleen
    Cc: David Ahern
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: William Cohen
    Link: http://lkml.kernel.org/r/1428441919-23099-5-git-send-email-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • Changing metrics context calculation to allow more than 2 types of
    context.

    Following patches will add support for the rest of the exclude_* bits so
    we need separate array element for all context combinations.

    Signed-off-by: Jiri Olsa
    Acked-by: Namhyung Kim
    Cc: Andi Kleen
    Cc: David Ahern
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: William Cohen
    Link: http://lkml.kernel.org/r/1428441919-23099-4-git-send-email-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • Currently in perf IPC and other metrics cannot be directly shown
    separately for both user and kernel in a single run. The problem was
    that the metrics matching code did not check event qualifiers.

    With this patch the following case works correctly.

    % perf stat -e cycles:k,cycles:u,instructions:k,instructions:u true

    Performance counter stats for 'true':

    531,718 cycles:k
    203,895 cycles:u
    338,151 instructions:k # 0.64 insns per cycle
    105,961 instructions:u # 0.52 insns per cycle

    0.002989739 seconds time elapsed

    Previously it would misreport the ratios because they were matching the
    wrong value.

    The patch is fairly big, but quite mechanic as it just adds context
    indexes everywhere.

    Reported-by: William Cohen
    Signed-off-by: Andi Kleen
    Acked-by: Namhyung Kim
    Cc: Andi Kleen
    Cc: David Ahern
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: William Cohen
    Link: http://lkml.kernel.org/r/1428441919-23099-3-git-send-email-jolsa@kernel.org
    Signed-off-by: Jiri Olsa
    Signed-off-by: Arnaldo Carvalho de Melo

    Andi Kleen
     
  • Adding support to return error information from parse_events function.
    Following struct will be populated by parse_events function on return:

    struct parse_events_error {
    int idx;
    char *str;
    char *help;
    };

    where 'idx' is the position in the string where the parsing failed,
    'str' contains dynamically allocated error string describing the error
    and 'help' is optional help string.

    The change contains reporting function, which currently does not display
    anything. The code changes to supply error data for specific event types
    are coming in next patches. However this is what the expected output is:

    $ sudo perf record -e 'sched:krava' ls
    event syntax error: 'sched:krava'
    \___ unknown tracepoint
    ...

    $ perf record -e 'cpu/even=0x1/' ls
    event syntax error: 'cpu/even=0x1/'
    \___ unknown term

    valid terms: pc,any,inv,edge,cmask,event,in_tx,ldlat,umask,in_tx_cp,offcore_rsp,config,config1,config2,name,period,branch_type
    ...

    $ perf record -e cycles,cache-mises ls
    event syntax error: '..es,cache-mises'
    \___ parser error
    ...

    The output functions cut the beginning of the event string so the error
    starts up to 10th character and cut the end of the string of it crosses
    the terminal width.

    Signed-off-by: Jiri Olsa
    Cc: David Ahern
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1429729824-13932-2-git-send-email-jolsa@kernel.org
    [ Renamed 'error' variables to 'err', not to clash with util.h error() ]
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     

26 Mar, 2015

1 commit

  • Use of a bad filter currently generates the message:
    Error: failed to set filter with 22 (Invalid argument)

    Add the event name to make it clear to which event the filter
    failed to apply:
    Error: Failed to set filter "foo" on event sched:sg_lb_stats: 22: Invalid argument

    To test it use something like:

    # perf record -e sched:sched_switch -e sched:*fork --filter parent_pid==1 -e sched:*wait* --filter bla usleep 1
    Error: failed to set filter "bla" on event sched:sched_stat_iowait with 22 (Invalid argument)
    #

    Based-on-a-patch-by: David Ahern
    Acked-by: David Ahern
    Cc: Adrian Hunter
    Cc: Borislav Petkov
    Cc: Don Zickus
    Cc: Frederic Weisbecker
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/n/tip-d7gq2fjvaecozp9o2i0siifu@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     

13 Mar, 2015

3 commits

  • When cycles or instructions do not print anything, as in being,
    --per-socket or --per-core modi, the ratio column was not correctly
    indented for them. This lead to some ratios not lining up with the
    others. Always indent correctly when nothing is printed.

    Signed-off-by: Andi Kleen
    Link: http://lkml.kernel.org/r/1426087682-22765-3-git-send-email-andi@firstfloor.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Andi Kleen
     
  • perf stat didn't compute the IPC and other formulas for individual CPUs
    with -A. Fix this for the easy -A case. As before, --per-core and
    --per-socket do not handle it, they simply print nothing.

    Signed-off-by: Andi Kleen
    Link: http://lkml.kernel.org/r/1426087682-22765-2-git-send-email-andi@firstfloor.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Andi Kleen
     
  • The information how much a counter ran in 'perf stat' can be quite
    interesting for other tools to judge how trustworthy a measurement is.

    Currently it is only output in non CSV mode.

    This patches make perf stat always output the running time and the
    enabled/running ratio in CSV mode.

    This adds two new fields at the end for each line. I assume that
    existing tools ignore new fields at the end, so it's on by default.

    Only CSV mode is affected, no difference otherwise.

    v2: Add extra print_running function
    v3: Avoid printing nan
    v4: Remove some elses and add brackets.
    v5: Move non CSV case into print_running

    Signed-off-by: Andi Kleen
    Reviewed-by: Jiri Olsa
    Acked-by: Namhyung Kim
    Cc: Jiri Olsa
    Link: http://lkml.kernel.org/r/1426083387-17006-1-git-send-email-andi@firstfloor.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Andi Kleen
     

02 Mar, 2015

1 commit

  • Commit 1971f59 (perf stat: Use read_counter in read_counter_aggr )
    broke the perf stat output for unsupported counters.

    $ perf stat -v -a -C 0 -e CCI_400/config=24/ sleep 1
    Warning:
    CCI_400/config=24/ event is not supported by the kernel.

    Performance counter stats for 'system wide':

    0 CCI_400/config=24/

    1.080265400 seconds time elapsed

    Where it used to be :

    $ perf stat -v -a -C 0 -e CCI_400/config=24/ sleep 1
    Warning:
    CCI_400/config=24/ event is not supported by the kernel.

    Performance counter stats for 'system wide':

    CCI_400/config=24/

    1.083840675 seconds time elapsed

    This patch fixes the issues by checking if the counter is supported,
    before reading and logging the counter value.

    Signed-off-by: Suzuki K. Poulose
    Acked-by: David Ahern
    Tested-by: David Ahern
    Cc: Jiri Olsa
    Link: http://lkml.kernel.org/r/1423852858-8455-1-git-send-email-suzuki.poulose@arm.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Suzuki K. Poulose
     

22 Jan, 2015

1 commit

  • Janitorial stuff: boredom moment.

    Cc: Adrian Hunter
    Cc: Borislav Petkov
    Cc: David Ahern
    Cc: Don Zickus
    Cc: Frederic Weisbecker
    Cc: Jiri Olsa
    Cc: Mike Galbraith
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/n/tip-u70i7shys3kths4hzru72bha@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     

02 Dec, 2014

1 commit

  • The .snapshot file indicates that the provided event value is a snapshot
    value. Bypassing the delta computation logic for such event.

    Signed-off-by: Jiri Olsa
    Cc: Andi Kleen
    Cc: Corey Ashford
    Cc: David Ahern
    Cc: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Matt Fleming
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/r/1416562275-12404-12-git-send-email-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa