1. May 20, 2020
  2. May 08, 2020
    • Thomas Gleixner's avatar
      Merge tag 'perf-core-for-mingo-5.8-20200506' of... · 059c6d68
      Thomas Gleixner authored
      Merge tag 'perf-core-for-mingo-5.8-20200506' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux
      
       into perf/core
      
      Pull perf updates from Arnaldo:
      
      perf/core improvements and fixes:
      
      perf record:
      
        - Introduce --switch-output-event to use arbitrary events to be setup
          and read from a side band thread and, when they take place a signal
          be sent to the main 'perf record' thread, reusing the --switch-output
          code to take perf.data snapshots from the --overwrite ring buffer, e.g.:
      
      	# perf record --overwrite -e sched:* \
      		      --switch-output-event syscalls:*connect* \
      		      workload
      
          will take perf.data.YYYYMMDDHHMMSS snapshots up to around the
          connect syscalls.
      
        Stephane Eranian:
      
        - Add --num-synthesize-threads option to control degree of parallelism of the
          synthesize_mmap() code which is scanning /proc/PID/task/PID/maps and can be
          time consuming. This mimics pre-existing behaviour in 'perf top'.
      
      Intel PT:
      
        Adrian Hunter:
      
        - Add support for synthesizing branch stacks for regular events (cycles,
          instructions, etc) from Intel PT data.
      
      perf bench:
      
        Ian Rogers:
      
        - Add a multi-threaded synthesize benchmark.
      
        - Add kallsyms parsing benchmark.
      
        Tommi Rantala:
      
        - Fix div-by-zero if runtime is zero.
      
      perf synthetic events:
      
        - Remove use of sscanf from /proc reading when parsing pre-existing
          threads to generate synthetic PERF_RECORD_{FORK,MMAP,COMM,etc} events.
      
      tools api:
      
        - Add a lightweight buffered reading API.
      
      libsymbols:
      
        - Parse kallsyms using new lightweight buffered reading io API.
      
      perf parse-events:
      
        - Fix memory leaks found on parse_events.
      
      perf mem2node:
      
        - Avoid double free related to realloc().
      
      perf stat:
      
        Jin Yao:
      
        - Zero all the 'ena' and 'run' array slot stats for interval mode.
      
        - Improve runtime stat for interval mode
      
        Kajol Jain:
      
        - Enable Hz/hz printing for --metric-only option
      
        - Enhance JSON/metric infrastructure to handle "?".
      
      perf tests:
      
        Kajol Jain:
      
        - Added test for runtime param in metric expression.
      
        Tommi Rantala:
      
        - Fix data path in the session topology test.
      
      perf vendor events power9:
      
        Kajol Jain:
      
       - Add hv_24x7 socket/chip level metric events
      
      Coresight:
      
        Leo Yan:
      
        - Move definition of 'traceid_list' global variable from header file.
      
        Mike Leach:
      
        - Update to build with latest opencsd version.
      
      perf pmu:
      
        Shaokun Zhang:
      
        - Fix function name in comment, its get_cpuid_str(), not get_cpustr()
      
        Stephane Eranian:
      
        - Add perf_pmu__find_by_type() helper
      
      perf script:
      
        Stephane Eranian:
      
        - Remove extraneous newline in perf_sample__fprintf_regs().
      
        Ian Rogers:
      
        - Avoid NULL dereference on symbol.
      
      tools feature:
      
        Stephane Eranian:
      
        - Add support for detecting libpfm4.
      
      perf symbol:
      
        Thomas Richter:
      
        - Fix kernel symbol address display in TUI verbose mode.
      
      perf cgroup:
      
        Tommi Rantala:
      
        - Avoid needless closing of unopened fd
      
      libperf:
      
        He Zhe:
      
        - Add NULL pointer check for cpu_map iteration and NULL
          assignment for all_cpus.
      
        Ian Rogers:
      
        - Fix a refcount leak in evlist method.
      
        Arnaldo Carvalho de Melo:
      
        - Rename the code in tools/perf/util, i.e. perf tooling specific, that
          operates on 'struct evsel' to evsel__, leaving the perf_evsel__
          namespace for the routines in tools/lib/perf/ that operate on
          'struct perf_evsel__'.
      
      tools/perf specific libraries:
      
        Konstantin Khlebnikov:
      
        - Fix reading new topology attribute "core_cpus"
      
        - Simplify checking if SMT is active.
      
      perf flamegraph:
      
        Arnaldo Carvalho de Melo:
      
        - Use /bin/bash for report and record scripts, just like all other
          such scripts, fixing a package dependency bug in a Linaro
          OpenEmbedded build checker.
      
      perf evlist:
      
        Jagadeesh Pagadala:
      
        - Remove duplicate headers.
      
      Miscelaneous:
      
        Zou Wei:
      
        - Remove unneeded semicolon in libtraceevent, 'perf c2c' and others.
      
        - Fix warning assignment of 0/1 to bool variable in 'perf report'
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      059c6d68
  3. May 06, 2020
    • Arnaldo Carvalho de Melo's avatar
      perf flamegraph: Use /bin/bash for report and record scripts · 19ce2321
      Arnaldo Carvalho de Melo authored
      As all the other tools/perf/scripts/python/bin/*-{report,record}
      scripts, fixing the this problem reported by Daniel Diaz:
      
        Our OpenEmbedded builds detected an issue with 5287f926 ("perf
        script: Add flamegraph.py script"):
          ERROR: perf-1.0-r9 do_package_qa: QA Issue:
        /usr/libexec/perf-core/scripts/python/bin/flamegraph-report contained
        in package perf-python requires /usr/bin/sh, but no providers found in
        RDEPENDS_perf-python? [file-rdeps]
      
        This means that there is a new binary pulled in in the shebang line
        which was unaccounted for: `/usr/bin/sh`. I don't see any other usage
        of /usr/bin/sh in the kernel tree (does not even exist on my Ubuntu
        dev machine) but plenty of /bin/sh. This patch is needed:
        -----8<----------8<----------8<-----
        diff --git a/tools/perf/scripts/python/bin/flamegraph-record
        b/tools/perf/scripts/python/bin/flamegraph-record
        index 725d66e71570..a2f3fa25ef81 100755
        --- a/tools/perf/scripts/python/bin/flamegraph-record
        +++ b/tools/perf/scripts/python/bin/flamegraph-record
        @@ -1,2 +1,2 @@
        -#!/usr/bin/sh
        +#!/bin/sh
         perf record -g "$@"
        diff --git a/tools/perf/scripts/python/bin/flamegraph-report
        b/tools/perf/scripts/python/bin/flamegraph-report
        index b1a79afd903b..b0177355619b 100755
        --- a/tools/perf/scripts/python/bin/flamegraph-report
        +++ b/tools/perf/scripts/python/bin/flamegraph-report
        @@ -1,3 +1,3 @@
        -#!/usr/bin/sh
        +#!/bin/sh
         # description: create flame graphs
         perf script -s "$PERF_EXEC_PATH"/scripts/python/flamegraph.py -- "$@"
        ----->8---------->8---------->8-----
      
      Fixes: 5287f926
      
       ("perf script: Add flamegraph.py script")
      Reported-by: default avatarDaniel Díaz <daniel.diaz@linaro.org>
      Acked-by: default avatarAndreas Gerstmayr <agerstmayr@redhat.com>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: lkft-triage@lists.linaro.org
      Cc: Namhyung Kim <namhyung@kernel.org>
      Link: http://lore.kernel.org/lkml/CAEUSe7_wmKS361mKLTB1eYbzYXcKkXdU26BX5BojdKRz8MfPCw@mail.gmail.com
      Link: http://lore.kernel.org/lkml/20200505170320.GZ30487@kernel.org
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      19ce2321
    • Leo Yan's avatar
      perf cs-etm: Move definition of 'traceid_list' global variable from header file · 168200b6
      Leo Yan authored
      The variable 'traceid_list' is defined in the header file cs-etm.h,
      if multiple C files include cs-etm.h the compiler might complaint for
      multiple definition of 'traceid_list'.
      
      To fix multiple definition error, move the definition of 'traceid_list'
      into cs-etm.c.
      
      Fixes: cd8bfd8c
      
       ("perf tools: Add processing of coresight metadata")
      Reported-by: default avatarThomas Backlund <tmb@mageia.org>
      Signed-off-by: default avatarLeo Yan <leo.yan@linaro.org>
      Reviewed-by: default avatarMathieu Poirier <mathieu.poirier@linaro.org>
      Reviewed-by: default avatarMike Leach <mike.leach@linaro.org>
      Tested-by: default avatarMike Leach <mike.leach@linaro.org>
      Tested-by: default avatarThomas Backlund <tmb@mageia.org>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Suzuki Poulouse <suzuki.poulose@arm.com>
      Cc: Tor Jeremiassen <tor@ti.com>
      Cc: linux-arm-kernel@lists.infradead.org
      Link: http://lore.kernel.org/lkml/20200505133642.4756-1-leo.yan@linaro.org
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      168200b6
    • Ian Rogers's avatar
      libsymbols kallsyms: Move hex2u64 out of header · 32add10f
      Ian Rogers authored
      
      
      hex2u64 is a helper that's out of place in kallsyms.h as not being
      kallsyms related. Move from kallsyms.h to the only user.
      
      Committer notes:
      
      Move it out of tools/lib/symbol/kallsyms.c as well, as we had to leave
      it there in the previous patch lest we break the build.
      
      Signed-off-by: default avatarIan Rogers <irogers@google.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Link: http://lore.kernel.org/lkml/20200501221315.54715-4-irogers@google.com
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      32add10f
    • Ian Rogers's avatar
      libsymbols kallsyms: Parse using io api · 53df2b93
      Ian Rogers authored
      
      
      'perf record' will call kallsyms__parse 4 times during startup and
      process megabytes of data. This changes kallsyms__parse to use the io
      library rather than fgets to improve performance of the user code by
      over 8%.
      
      Before:
      
        Running 'internals/kallsyms-parse' benchmark:
        Average kallsyms__parse took: 103.988 ms (+- 0.203 ms)
      
      After:
      
        Running 'internals/kallsyms-parse' benchmark:
        Average kallsyms__parse took: 95.571 ms (+- 0.006 ms)
      
      For a workload like:
      
        $ perf record /bin/true
        Run under 'perf record -e cycles:u -g' the time goes from:
        Before
        30.10%     1.67%  perf     perf                [.] kallsyms__parse
        After
        25.55%    20.04%  perf     perf                [.] kallsyms__parse
      
      So a little under 5% of the start-up time is removed. A lot of what
      remains is on the kernel side, but caching kallsyms within perf would at
      least impact memory footprint.
      
      Committer notes:
      
      The internal/kallsyms-parse bench is run using:
      
        [root@five ~]# perf bench internals kallsyms-parse
        # Running 'internals/kallsyms-parse' benchmark:
          Average kallsyms__parse took: 80.381 ms (+- 0.115 ms)
        [root@five ~]#
      
      And this pre-existing test uses these routines to parse kallsyms and
      then compare with the info obtained from the matching ELF symtab:
      
        [root@five ~]# perf test vmlinux
         1: vmlinux symtab matches kallsyms                       : Ok
        [root@five ~]#
      
      Also we can't remove hex2u64() in this patch as this breaks the build:
      
        /usr/bin/ld: /tmp/build/perf/perf-in.o: in function `modules__parse':
        /home/acme/git/perf/tools/perf/util/symbol.c:607: undefined reference to `hex2u64'
        /usr/bin/ld: /home/acme/git/perf/tools/perf/util/symbol.c:607: undefined reference to `hex2u64'
        /usr/bin/ld: /tmp/build/perf/perf-in.o: in function `dso__load_perf_map':
        /home/acme/git/perf/tools/perf/util/symbol.c:1477: undefined reference to `hex2u64'
        /usr/bin/ld: /home/acme/git/perf/tools/perf/util/symbol.c:1483: undefined reference to `hex2u64'
        collect2: error: ld returned 1 exit status
      
      Leave it there, move it in the next patch.
      
      Signed-off-by: default avatarIan Rogers <irogers@google.com>
      Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Link: http://lore.kernel.org/lkml/20200501221315.54715-3-irogers@google.com
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      53df2b93
    • Ian Rogers's avatar
      perf bench: Add kallsyms parsing · 51876bd4
      Ian Rogers authored
      
      
      Add a benchmark for kallsyms parsing. Example output:
      
        Running 'internals/kallsyms-parse' benchmark:
        Average kallsyms__parse took: 103.971 ms (+- 0.121 ms)
      
      Committer testing:
      
      Test Machine: AMD Ryzen 5 3600X 6-Core Processor
      
        [root@five ~]# perf bench internals kallsyms-parse
        # Running 'internals/kallsyms-parse' benchmark:
          Average kallsyms__parse took: 79.692 ms (+- 0.101 ms)
        [root@five ~]# perf stat -r5 perf bench internals kallsyms-parse
        # Running 'internals/kallsyms-parse' benchmark:
          Average kallsyms__parse took: 80.563 ms (+- 0.079 ms)
        # Running 'internals/kallsyms-parse' benchmark:
          Average kallsyms__parse took: 81.046 ms (+- 0.155 ms)
        # Running 'internals/kallsyms-parse' benchmark:
          Average kallsyms__parse took: 80.874 ms (+- 0.104 ms)
        # Running 'internals/kallsyms-parse' benchmark:
          Average kallsyms__parse took: 81.173 ms (+- 0.133 ms)
        # Running 'internals/kallsyms-parse' benchmark:
          Average kallsyms__parse took: 81.169 ms (+- 0.074 ms)
      
         Performance counter stats for 'perf bench internals kallsyms-parse' (5 runs):
      
                  8,093.54 msec task-clock                #    0.999 CPUs utilized            ( +-  0.14% )
                     3,165      context-switches          #    0.391 K/sec                    ( +-  0.18% )
                        10      cpu-migrations            #    0.001 K/sec                    ( +- 23.13% )
                       744      page-faults               #    0.092 K/sec                    ( +-  0.21% )
            34,551,564,954      cycles                    #    4.269 GHz                      ( +-  0.05% )  (83.33%)
             1,160,584,308      stalled-cycles-frontend   #    3.36% frontend cycles idle     ( +-  1.60% )  (83.33%)
            14,974,323,985      stalled-cycles-backend    #   43.34% backend cycles idle      ( +-  0.24% )  (83.33%)
            58,712,905,705      instructions              #    1.70  insn per cycle
                                                          #    0.26  stalled cycles per insn  ( +-  0.01% )  (83.34%)
            14,136,433,778      branches                  # 1746.632 M/sec                    ( +-  0.01% )  (83.33%)
               141,943,217      branch-misses             #    1.00% of all branches          ( +-  0.04% )  (83.33%)
      
                    8.1040 +- 0.0115 seconds time elapsed  ( +-  0.14% )
      
        [root@five ~]#
      
      Signed-off-by: default avatarIan Rogers <irogers@google.com>
      Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Link: http://lore.kernel.org/lkml/20200501221315.54715-2-irogers@google.com
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      51876bd4
    • Mike Leach's avatar
      perf: cs-etm: Update to build with latest opencsd version. · 29e2eb2a
      Mike Leach authored
      
      
      OpenCSD version v0.14.0 adds in a new output element. This is represented
      by a new value in the generic element type enum, which must be added to
      the handling code in perf cs-etm-decoder to prevent build errors due to
      build options on the perf project.
      
      This element is not currently used by the perf decoder.
      
      Perf build feature test updated to require a minimum of 0.14.0
      
      Tested on Linux 5.7-rc3.
      
      Signed-off-by: default avatarMike Leach <mike.leach@linaro.org>
      Reviewed-by: default avatarLeo Yan <leo.yan@linaro.org>
      Reviewed-by: default avatarMathieu Poirier <mathieu.poirier@linaro.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Suzuki Poulouse <suzuki.poulose@arm.com>
      Cc: coresight@lists.linaro.org
      Cc: linux-arm-kernel@lists.infradead.org
      Link: http://lore.kernel.org/lkml/20200501143615.1180-1-mike.leach@linaro.org
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      29e2eb2a
    • Thomas Richter's avatar
      perf symbol: Fix kernel symbol address display · 51d96355
      Thomas Richter authored
      
      
      Running commands
      
         ./perf record -e rb0000 -- find .
         ./perf report -v
      
      reveals symbol names and its addresses. There is a mismatch between
      kernel symbol and address. Here is an example for kernel symbol
      check_chain_key:
      
       3.55%  find /lib/modules/.../build/vmlinux  0xf11ec  v [k] check_chain_key
      
      This address is off by 0xff000 as can be seen with:
      
      [root@t35lp46 ~]# fgrep check_chain_key /proc/kallsyms
      00000000001f00d0 t check_chain_key
      [root@t35lp46 ~]# objdump -t ~/linux/vmlinux| fgrep check_chain_key
      00000000001f00d0 l     F .text	00000000000001e8 check_chain_key
      [root@t35lp46 ~]#
      
      This function is located in main memory 0x1f00d0 - 0x1f02b4. It has
      several entries in the perf data file with the correct address:
      
      [root@t35lp46 perf]# ./perf report -D -i perf.data.find-bad | \
      				fgrep SAMPLE| fgrep 0x1f01ec
      PERF_RECORD_SAMPLE(IP, 0x1): 22228/22228: 0x1f01ec period: 1300000 addr: 0
      PERF_RECORD_SAMPLE(IP, 0x1): 22228/22228: 0x1f01ec period: 1300000 addr: 0
      
      The root cause happens when reading symbol tables during perf report.
      A long gdb call chain leads to
      
         machine__deliver_events
           perf_evlist__deliver_event
             perf_evlist__deliver_sample
               build_id__mark_dso_hits
      	   thread__find_map(1)      Read correct address from sample entry
      	     map__load
      	       dso__load            Some more functions to end up in
      	         ....
      		 dso__load_sym.
      
      Function dso__load_syms  checks for kernel relocation and symbol
      adjustment for the kernel and results in kernel map adjustment of
      	 kernel .text segment address (0x100000 on s390)
      	 kernel .text segment offset in file (0x1000 on s390).
      This results in all kernel symbol addresses to be changed by subtracting
      0xff000 (on s390). For the symbol check_chain_key we end up with
      
          0x1f00d0 - 0x100000 + 0x1000 = 0xf11d0
      
      and this address is saved in the perf symbol table. This calculation is
      also applied by the mapping functions map__mapip() and map__unmapip()
      to map IP addresses to dso mappings.
      
      During perf report processing functions
      
         process_sample_event    (builtin-report.c)
           machine__resolve
             thread__find_map
           hist_entry_iter_add
      
      are called. Function thread__find_map(1)
      takes the correct sample address and applies the mapping function
      map__mapip() from the kernel dso and saves the modified address
      in struct addr_location for further reference. From now on this address
      is used.
      
      Funktion process_sample_event() then calls hist_entry_iter_add() to save
      the address in member ip of struct hist_entry.
      
      When samples are displayed using
      
          perf_evlist__tty_browse_hists
            hists__fprintf
              hist_entry__fprintf
      	  hist_entry__snprintf
      	    __hist_entry__snprintf
      	      _hist_entry__sym_snprintf()
      
      This simply displays the address of the symbol and ignores the dso <-> map
      mappings done in function thread__find_map. This leads to the address
      mismatch.
      
      Output before:
      
      ot@t35lp46 perf]# ./perf report -v | fgrep check_chain_key
           3.55%  find     /lib/modules/5.6.0d-perf+/build/vmlinux
           						0xf11ec v [k] check_chain_key
      [root@t35lp46 perf]#
      
      Output after:
      
      [root@t35lp46 perf]# ./perf report -v | fgrep check_chain_key
           3.55%  find     /lib/modules/5.6.0d-perf+/build/vmlinux
           						0x1f01ec v [k] check_chain_key
      [root@t35lp46 perf]#
      
      Signed-off-by: default avatarThomas Richter <tmricht@linux.ibm.com>
      Acked-by: default avatarSumanth Korikkar <sumanthk@linux.ibm.com>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: Vasily Gorbik <gor@linux.ibm.com>
      Link: http://lore.kernel.org/lkml/20200415070744.59919-1-tmricht@linux.ibm.com
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      51d96355
    • Arnaldo Carvalho de Melo's avatar
      perf inject: Rename perf_evsel__*() operating on 'struct evsel *' to evsel__*() · b14b36d0
      Arnaldo Carvalho de Melo authored
      
      
      As those is a 'struct evsel' methods, not part of tools/lib/perf/, aka
      libperf, to whom the perf_ prefix belongs.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      b14b36d0
    • Arnaldo Carvalho de Melo's avatar
      perf annotate: Rename perf_evsel__*() operating on 'struct evsel *' to evsel__*() · 74aa90e8
      Arnaldo Carvalho de Melo authored
      
      
      As those is a 'struct evsel' methods, not part of tools/lib/perf/, aka
      libperf, to whom the perf_ prefix belongs.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      74aa90e8
    • Arnaldo Carvalho de Melo's avatar
      perf trace: Rename perf_evsel__*() operating on 'struct evsel *' to evsel__*() · 794bca26
      Arnaldo Carvalho de Melo authored
      
      
      As those is a 'struct evsel' methods, not part of tools/lib/perf/, aka
      libperf, to whom the perf_ prefix belongs.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      794bca26
    • Arnaldo Carvalho de Melo's avatar
      perf script: Rename perf_evsel__*() operating on 'struct evsel *' to evsel__*() · ec98b6df
      Arnaldo Carvalho de Melo authored
      
      
      As those is a 'struct evsel' methods, not part of tools/lib/perf/, aka
      libperf, to whom the perf_ prefix belongs.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      ec98b6df
    • Arnaldo Carvalho de Melo's avatar
      perf sched: Rename perf_evsel__*() operating on 'struct evsel *' to evsel__*() · 3b7313f2
      Arnaldo Carvalho de Melo authored
      
      
      As those is a 'struct evsel' methods, not part of tools/lib/perf/, aka
      libperf, to whom the perf_ prefix belongs.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      3b7313f2
    • Arnaldo Carvalho de Melo's avatar
      perf lock: Rename perf_evsel__*() operating on 'struct evsel *' to evsel__*() · 3d655813
      Arnaldo Carvalho de Melo authored
      
      
      As those is a 'struct evsel' methods, not part of tools/lib/perf/, aka
      libperf, to whom the perf_ prefix belongs.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      3d655813
    • Arnaldo Carvalho de Melo's avatar
      perf kmem: Rename perf_evsel__*() operating on 'struct evsel *' to evsel__*() · 8cf5d0e0
      Arnaldo Carvalho de Melo authored
      
      
      As those is a 'struct evsel' methods, not part of tools/lib/perf/, aka
      libperf, to whom the perf_ prefix belongs.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      8cf5d0e0
    • Arnaldo Carvalho de Melo's avatar
      perf stat: Rename perf_evsel__*() operating on 'struct evsel *' to evsel__*() · ddc6999e
      Arnaldo Carvalho de Melo authored
      
      
      As those is a 'struct evsel' methods, not part of tools/lib/perf/, aka
      libperf, to whom the perf_ prefix belongs.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      ddc6999e
    • Arnaldo Carvalho de Melo's avatar
      perf evsel: Rename perf_evsel__store_ids() to evsel__store_id() · 34397753
      Arnaldo Carvalho de Melo authored
      
      
      As it is a 'struct evsel' method, not part of tools/lib/perf/, aka
      libperf, to whom the perf_ prefix belongs.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      34397753
    • Arnaldo Carvalho de Melo's avatar
      perf evsel: Rename perf_evsel__env() to evsel__env() · 6e6d1d65
      Arnaldo Carvalho de Melo authored
      
      
      As it is a 'struct evsel' method, not part of tools/lib/perf/, aka
      libperf, to whom the perf_ prefix belongs.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      6e6d1d65
    • Arnaldo Carvalho de Melo's avatar
      perf evsel: Rename perf_evsel__group_idx() to evsel__group_idx() · 2bb72dbb
      Arnaldo Carvalho de Melo authored
      
      
      As it is a 'struct evsel' method, not part of tools/lib/perf/, aka
      libperf, to whom the perf_ prefix belongs.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      2bb72dbb
    • Arnaldo Carvalho de Melo's avatar
      perf evsel: Rename perf_evsel__fallback() to evsel__fallback() · ae430892
      Arnaldo Carvalho de Melo authored
      
      
      As it is a 'struct evsel' method, not part of tools/lib/perf/, aka
      libperf, to whom the perf_ prefix belongs.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      ae430892
    • Arnaldo Carvalho de Melo's avatar
      perf evsel: Rename perf_evsel__has*() to evsel__has*() · 4f138a9e
      Arnaldo Carvalho de Melo authored
      
      
      As those are 'struct evsel' methods, not part of tools/lib/perf/, aka
      libperf, to whom the perf_ prefix belongs.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      4f138a9e
    • Arnaldo Carvalho de Melo's avatar
      perf evsel: Rename perf_evsel__{prev,next}() to evsel__{prev,next}() · e470daea
      Arnaldo Carvalho de Melo authored
      
      
      As those are 'struct evsel' methods, not part of tools/lib/perf/, aka
      libperf, to whom the perf_ prefix belongs.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      e470daea
    • Arnaldo Carvalho de Melo's avatar
      perf evsel: Rename perf_evsel__parse_sample*() to evsel__parse_sample*() · 6b6017a2
      Arnaldo Carvalho de Melo authored
      
      
      As these are 'struct evsel' methods, not part of tools/lib/perf/, aka
      libperf, to whom the perf_ prefix belongs.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      6b6017a2
    • Arnaldo Carvalho de Melo's avatar
      perf evsel: Rename *perf_evsel__read*() to *evsel__read() · ea089692
      Arnaldo Carvalho de Melo authored
      
      
      As those are 'struct evsel' methods, not part of tools/lib/perf/, aka
      libperf, to whom the perf_ prefix belongs.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      ea089692
    • Arnaldo Carvalho de Melo's avatar
      perf evsel: Ditch perf_evsel__cmp(), not used for quite a while · 53fcfa6b
      Arnaldo Carvalho de Melo authored
      In 4c358d5c
      
       ("perf stat: Replace transaction event possition check
      with id check") all its uses were removed, so ditch it.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      53fcfa6b
    • Arnaldo Carvalho de Melo's avatar
      perf evsel: Rename perf_evsel__is_*() to evsel__is*() · c754c382
      Arnaldo Carvalho de Melo authored
      
      
      As those are 'struct evsel' methods, not part of tools/lib/perf/, aka
      libperf, to whom the perf_ prefix belongs.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      c754c382
    • Stephane Eranian's avatar
      perf pmu: Add perf_pmu__find_by_type helper · 3a50dc76
      Stephane Eranian authored
      
      
      This is used by libpfm4 during event parsing to locate the pmu for an
      event.
      
      Signed-off-by: default avatarStephane Eranian <eranian@google.com>
      Reviewed-by: default avatarIan Rogers <irogers@google.com>
      Acked-by: default avatarJiri Olsa <jolsa@redhat.com>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Alexei Starovoitov <ast@kernel.org>
      Cc: Alexey Budankov <alexey.budankov@linux.intel.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Andrii Nakryiko <andriin@fb.com>
      Cc: Daniel Borkmann <daniel@iogearbox.net>
      Cc: Florian Fainelli <f.fainelli@gmail.com>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Igor Lubashev <ilubashe@akamai.com>
      Cc: Jin Yao <yao.jin@linux.intel.com>
      Cc: Jiwei Sun <jiwei.sun@windriver.com>
      Cc: John Garry <john.garry@huawei.com>
      Cc: Kan Liang <kan.liang@linux.intel.com>
      Cc: Leo Yan <leo.yan@linaro.org>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Martin KaFai Lau <kafai@fb.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Yonghong Song <yhs@fb.com>
      Cc: bpf@vger.kernel.org
      Cc: netdev@vger.kernel.org
      Cc: yuzhoujian <yuzhoujian@didichuxing.com>
      Link: http://lore.kernel.org/lkml/20200429231443.207201-4-irogers@google.com
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      3a50dc76
    • Stephane Eranian's avatar
      tools feature: Add support for detecting libpfm4 · 5ef86146
      Stephane Eranian authored
      
      
      libpfm4 provides an alternate command line encoding of perf events.
      
      Signed-off-by: default avatarStephane Eranian <eranian@google.com>
      Reviewed-by: default avatarIan Rogers <irogers@google.com>
      Acked-by: default avatarJiri Olsa <jolsa@redhat.com>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Alexei Starovoitov <ast@kernel.org>
      Cc: Alexey Budankov <alexey.budankov@linux.intel.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Andrii Nakryiko <andriin@fb.com>
      Cc: Daniel Borkmann <daniel@iogearbox.net>
      Cc: Florian Fainelli <f.fainelli@gmail.com>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Igor Lubashev <ilubashe@akamai.com>
      Cc: Jin Yao <yao.jin@linux.intel.com>
      Cc: Jiwei Sun <jiwei.sun@windriver.com>
      Cc: John Garry <john.garry@huawei.com>
      Cc: Kan Liang <kan.liang@linux.intel.com>
      Cc: Leo Yan <leo.yan@linaro.org>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Martin KaFai Lau <kafai@fb.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Yonghong Song <yhs@fb.com>
      Cc: bpf@vger.kernel.org
      Cc: netdev@vger.kernel.org
      Cc: yuzhoujian <yuzhoujian@didichuxing.com>
      Link: http://lore.kernel.org/lkml/20200429231443.207201-3-irogers@google.com
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      5ef86146
    • Ian Rogers's avatar
      perf doc: Pass ASCIIDOC_EXTRA as an argument · 4b198449
      Ian Rogers authored
      commit e9cfa47e
      
       ("perf doc: allow ASCIIDOC_EXTRA to be an argument")
      allowed ASCIIDOC_EXTRA to be passed as an option to the Documentation
      Makefile. This change passes ASCIIDOC_EXTRA, set by detected features or
      command line options, prior to doing a Documentation build. This is
      necessary to allow conditional compilation, based on configuration
      variables, in asciidoc code.
      
      Signed-off-by: default avatarIan Rogers <irogers@google.com>
      Acked-by: default avatarJiri Olsa <jolsa@redhat.com>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Alexei Starovoitov <ast@kernel.org>
      Cc: Alexey Budankov <alexey.budankov@linux.intel.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Andrii Nakryiko <andriin@fb.com>
      Cc: Daniel Borkmann <daniel@iogearbox.net>
      Cc: Florian Fainelli <f.fainelli@gmail.com>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Igor Lubashev <ilubashe@akamai.com>
      Cc: Jin Yao <yao.jin@linux.intel.com>
      Cc: Jiwei Sun <jiwei.sun@windriver.com>
      Cc: John Garry <john.garry@huawei.com>
      Cc: Kan Liang <kan.liang@linux.intel.com>
      Cc: Leo Yan <leo.yan@linaro.org>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Martin KaFai Lau <kafai@fb.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Yonghong Song <yhs@fb.com>
      Cc: bpf@vger.kernel.org
      Cc: netdev@vger.kernel.org
      Cc: yuzhoujian <yuzhoujian@didichuxing.com>
      Link: http://lore.kernel.org/lkml/20200429231443.207201-2-irogers@google.com
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      4b198449
    • Ian Rogers's avatar
      perf mem2node: Avoid double free related to realloc · 266150c9
      Ian Rogers authored
      
      
      Realloc of size zero is a free not an error, avoid this causing a double
      free. Caught by clang's address sanitizer:
      
      ==2634==ERROR: AddressSanitizer: attempting double-free on 0x6020000015f0 in thread T0:
          #0 0x5649659297fd in free llvm/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:123:3
          #1 0x5649659e9251 in __zfree tools/lib/zalloc.c:13:2
          #2 0x564965c0f92c in mem2node__exit tools/perf/util/mem2node.c:114:2
          #3 0x564965a08b4c in perf_c2c__report tools/perf/builtin-c2c.c:2867:2
          #4 0x564965a0616a in cmd_c2c tools/perf/builtin-c2c.c:2989:10
          #5 0x564965944348 in run_builtin tools/perf/perf.c:312:11
          #6 0x564965943235 in handle_internal_command tools/perf/perf.c:364:8
          #7 0x5649659440c4 in run_argv tools/perf/perf.c:408:2
          #8 0x564965942e41 in main tools/perf/perf.c:538:3
      
      0x6020000015f0 is located 0 bytes inside of 1-byte region [0x6020000015f0,0x6020000015f1)
      freed by thread T0 here:
          #0 0x564965929da3 in realloc third_party/llvm/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:164:3
          #1 0x564965c0f55e in mem2node__init tools/perf/util/mem2node.c:97:16
          #2 0x564965a08956 in perf_c2c__report tools/perf/builtin-c2c.c:2803:8
          #3 0x564965a0616a in cmd_c2c tools/perf/builtin-c2c.c:2989:10
          #4 0x564965944348 in run_builtin tools/perf/perf.c:312:11
          #5 0x564965943235 in handle_internal_command tools/perf/perf.c:364:8
          #6 0x5649659440c4 in run_argv tools/perf/perf.c:408:2
          #7 0x564965942e41 in main tools/perf/perf.c:538:3
      
      previously allocated by thread T0 here:
          #0 0x564965929c42 in calloc third_party/llvm/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:154:3
          #1 0x5649659e9220 in zalloc tools/lib/zalloc.c:8:9
          #2 0x564965c0f32d in mem2node__init tools/perf/util/mem2node.c:61:12
          #3 0x564965a08956 in perf_c2c__report tools/perf/builtin-c2c.c:2803:8
          #4 0x564965a0616a in cmd_c2c tools/perf/builtin-c2c.c:2989:10
          #5 0x564965944348 in run_builtin tools/perf/perf.c:312:11
          #6 0x564965943235 in handle_internal_command tools/perf/perf.c:364:8
          #7 0x5649659440c4 in run_argv tools/perf/perf.c:408:2
          #8 0x564965942e41 in main tools/perf/perf.c:538:3
      
      v2: add a WARN_ON_ONCE when the free condition arises.
      
      Signed-off-by: default avatarIan Rogers <irogers@google.com>
      Acked-by: default avatarJiri Olsa <jolsa@redhat.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: clang-built-linux@googlegroups.com
      Link: http://lore.kernel.org/lkml/20200320182347.87675-1-irogers@google.com
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      266150c9
    • Arnaldo Carvalho de Melo's avatar
      perf evsel: Rename perf_evsel__{str,int}val() and other tracepoint field metehods to to evsel__*() · efc0cdc9
      Arnaldo Carvalho de Melo authored
      
      
      As those are not 'struct evsel' methods, not part of tools/lib/perf/,
      aka libperf, to whom the perf_ prefix belongs.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      efc0cdc9
    • Arnaldo Carvalho de Melo's avatar
      perf evsel: Rename perf_evsel__open_per_*() to evsel__open_per_*() · aa8c406b
      Arnaldo Carvalho de Melo authored
      
      
      As those are not 'struct evsel' methods, not part of tools/lib/perf/,
      aka libperf, to whom the perf_ prefix belongs.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      aa8c406b
    • Arnaldo Carvalho de Melo's avatar
      perf evsel: Rename perf_evsel__*filter*() to evsel__*filter*() · ad681adf
      Arnaldo Carvalho de Melo authored
      
      
      As those are not 'struct evsel' methods, not part of tools/lib/perf/,
      aka libperf, to whom the perf_ prefix belongs.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      ad681adf
    • Arnaldo Carvalho de Melo's avatar
      perf evsel: Rename *perf_evsel__*set_sample_*() to *evsel__*set_sample_*() · 862b2f8f
      Arnaldo Carvalho de Melo authored
      
      
      As they are not 'struct evsel' methods, not part of tools/lib/perf/, aka
      libperf, to whom the perf_ prefix belongs.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      862b2f8f
    • Arnaldo Carvalho de Melo's avatar
      perf evsel: Rename perf_evsel__group_desc() to evsel__group_desc() · 347c751a
      Arnaldo Carvalho de Melo authored
      
      
      As it is a 'struct evsel' method, not part of tools/lib/perf/, aka
      libperf, to whom the perf_ prefix belongs.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      347c751a
    • Arnaldo Carvalho de Melo's avatar
      perf evsel: Rename *perf_evsel__*name() to *evsel__*name() · 8ab2e96d
      Arnaldo Carvalho de Melo authored
      
      
      As they are 'struct evsel' methods or related routines, not part of
      tools/lib/perf/, aka libperf, to whom the perf_ prefix belongs.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      8ab2e96d
    • Arnaldo Carvalho de Melo's avatar
      perf evsel: Rename __perf_evsel__sample_size() to __evsel__sample_size() · 2aaefde4
      Arnaldo Carvalho de Melo authored
      
      
      As it is a 'struct evsel' related method, not part of tools/lib/perf/,
      aka libperf, to whom the perf_ prefix belongs.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      2aaefde4
    • Arnaldo Carvalho de Melo's avatar
      perf evsel: Rename perf_evsel__calc_id_pos() to evsel__calc_id_pos() · 4b5e87b7
      Arnaldo Carvalho de Melo authored
      
      
      As it is a 'struct evsel' method, not part of tools/lib/perf/, aka
      libperf, to whom the perf_ prefix belongs.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      4b5e87b7
    • Arnaldo Carvalho de Melo's avatar
      perf evsel: Rename perf_evsel__config*() to evsel__config*() · 6ec17b4e
      Arnaldo Carvalho de Melo authored
      
      
      As they are all 'struct evsel' methods, not part of tools/lib/perf/, aka
      libperf, to whom the perf_ prefix belongs.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      6ec17b4e