linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC 00/79] perf tools: Initial libperf separation
@ 2019-07-21 11:23 Jiri Olsa
  2019-07-21 11:23 ` [PATCH 01/79] perf tools: Move loaded out of struct perf_counts_values Jiri Olsa
                   ` (82 more replies)
  0 siblings, 83 replies; 192+ messages in thread
From: Jiri Olsa @ 2019-07-21 11:23 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: Daniel Borkmann, Alexei Starovoitov, Kan Liang, Song Liu,
	Steven Rostedt, Stephane Eranian, lkml, Ingo Molnar,
	Namhyung Kim, Alexander Shishkin, Peter Zijlstra, Andi Kleen,
	Alexey Budankov, Michael Petlan

hi,
we have long term goal to separate some of the perf functionality
into library. This patchset is initial effort on separating some
of the interface.

Currently only the basic counting interface is exported, it allows
to:
  - create cpu/threads maps
  - create evlist/evsel objects
  - add evsel objects into evlist
  - open/close evlist/evsel objects
  - enable/disable events
  - read evsel counts

The initial effort was to have total separation of the objects
from perf code, but it showed not to be a good way. The amount
of changed code was too big with high chance for regressions,
mainly because of the code embedding one of the above objects
statically.

We took the other approach of sharing the objects/struct details
within the perf and libperf code. This way we can keep perf
functionality without any major changes and the libperf users
are still separated from the object/struct details. We can move
to total libperf's objects separation gradually in future.

You can check current interface/functionality in examples under:
  tools/perf/lib/Documentation/tutorial

or check tests in here:
  $ cd tools/perf/lib && make tests
    LINK     test-cpumap-a
    LINK     test-threadmap-a
    LINK     test-evlist-a
    LINK     test-evsel-a
    LINK     test-cpumap-so
    LINK     test-threadmap-so
    LINK     test-evlist-so
    LINK     test-evsel-so
  running static:
  - running test-cpumap.c...OK
  - running test-threadmap.c...OK
  - running test-evlist.c...OK
  - running test-evsel.c...OK
  running dynamic:
  - running test-cpumap.c...OK
  - running test-threadmap.c...OK
  - running test-evlist.c...OK
  - running test-evsel.c...OK

The upcoming changes in the near future:
  - move parse_events interface in, so we have the event parsing
    interface in the library together with the all events from
    tools/perf/pmu-events/arch
  - add sampling interface with event mmap support and all the
    sampling events objects
  - add user mmap interface to read counters
  - more documentation and tutorial ;-)
  - move under tools/lib after the interface is more stable-ish

Big kudos to BPF guys, because most of the infrastructure is
'borrowed' from libbpf library.. ;-)

It's also available in here:
  git://git.kernel.org/pub/scm/linux/kernel/git/jolsa/perf.git
  perf/lib

I tested so far on x86, I still need to run it through s390/ppc/arm.

throughts? thanks,
jirka


Cc: Daniel Borkmann <daniel@iogearbox.net>
Cc: Alexei Starovoitov <alexei.starovoitov@gmail.com>
Cc: Kan Liang <kan.liang@linux.intel.com>
Cc: Song Liu <songliubraving@fb.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Stephane Eranian <eranian@google.com>
---
Jiri Olsa (79):
      perf tools: Move loaded out of struct perf_counts_values
      perf tools: Rename struct cpu_map to struct perf_cpu_map
      perf tools: Rename struct thread_map to struct perf_thread_map
      perf tools: Rename struct perf_evsel to struct evsel
      perf tools: Rename struct perf_evlist to struct evlist
      perf tools: Rename perf_evsel__init to evsel__init
      perf tools: Rename perf_evlist__init to evlist__init
      perf tools: Rename perf_evlist__new to evlist__new
      perf tools: Rename perf_evlist__delete to evlist__delete
      perf tools: Rename perf_evsel__delete to evsel__delete
      perf tools: Rename perf_evsel__new to evsel__new
      perf tools: Rename perf_evlist__add to evlist__add
      perf tools: Rename perf_evlist__remove to evlist__remove
      perf tools: Rename perf_evsel__open to evsel__open
      perf tools: Rename perf_evsel__enable to evsel__enable
      perf tools: Rename perf_evsel__disable to evsel__disable
      perf tools: Rename perf_evsel__apply_filter to evsel__apply_filter
      perf tools: Rename perf_evsel__cpus to evsel__cpus
      perf tools: Rename perf_evlist__open to evlist__open
      perf tools: Rename perf_evlist__close to evlist__close
      perf tools: Rename perf_evlist__enable to evlist__enable
      perf tools: Rename perf_evlist__disable to evlist__disable
      libperf: Make libperf.a part of the build
      libperf: Add build version support
      libperf: Add libperf in python.so compilation
      libperf: Add perf/core.h header
      libperf: Add debug output support
      libperf: Add perf_cpu_map struct
      libperf: Add perf_cpu_map__dummy_new function
      libperf: Add perf_cpu_map__get/perf_cpu_map__put
      libperf: Add perf_thread_map struct
      libperf: Add perf_thread_map__new_dummy function
      libperf: Add perf_thread_map__get/perf_thread_map__put
      libperf: Add perf_evlist and perf_evsel structs
      libperf: Include perf_evsel in evsel object
      libperf: Include perf_evlist in evlist object
      libperf: Add perf_evsel__init function
      libperf: Add perf_evlist__init function
      libperf: Add perf_evlist__add function
      libperf: Add perf_evlist__remove function
      libperf: Add nr_entries to perf_evlist
      libperf: Add attr to perf_evsel
      libperf: Add perf_cpu_map__new/perf_cpu_map__read functions
      libperf: Move zalloc.o into libperf
      libperf: Add perf_evlist__new function
      libperf: Add perf_evsel__new function
      libperf: Add perf_evlist__for_each_evsel macro
      libperf: Add perf_evlist__delete function
      libperf: Add perf_evsel__delete function
      libperf: Add cpus to struct perf_evsel
      libperf: Add own_cpus to struct perf_evsel
      libperf: Add threads to struct perf_evsel
      libperf: Add has_user_cpus to struct perf_evlist
      libperf: Add cpus to struct perf_evlist
      libperf: Add threads to struct perf_evlist
      libperf: Add perf_evlist__set_maps function
      libperf: Add xyarray object
      libperf: Add fd array to struct perf_evsel
      libperf: Add nr_members to struct perf_evsel
      libperf: Add readn/writen function
      libperf: Add perf_evsel__alloc_fd function
      libperf: Add perf_evsel__open function
      libperf: Add perf_evsel__close function
      libperf: Add perf_evsel__read function
      libperf: Add perf_evsel__enable/disable/apply_filter functions
      libperf: Add perf_cpu_map__for_each_cpu macro
      libperf: Add perf_evsel__cpus/threads functions
      libperf: Add perf_evlist__open/close functions
      libperf: Add perf_evlist__enable/disable functions
      libperf: Add perf_evsel__attr functions
      libperf: Add install targets
      libperf: Add tests support
      libperf: Add perf_cpu_map test
      libperf: Add perf_thread_map test
      libperf: Add perf_evlist test
      libperf: Add perf_evsel tests
      libperf: Add perf_evlist__enable/disable test
      libperf: Add perf_evsel__enable/disable test
      libperf: Initial documentation

 tools/perf/Makefile.config                         |    1 +
 tools/perf/Makefile.perf                           |   31 +-
 tools/perf/arch/arm/util/auxtrace.c                |    4 +-
 tools/perf/arch/arm/util/cs-etm.c                  |   26 +-
 tools/perf/arch/arm64/util/arm-spe.c               |    6 +-
 tools/perf/arch/powerpc/util/kvm-stat.c            |   12 +-
 tools/perf/arch/s390/util/auxtrace.c               |    8 +-
 tools/perf/arch/s390/util/kvm-stat.c               |    8 +-
 tools/perf/arch/x86/tests/intel-cqm.c              |    8 +-
 tools/perf/arch/x86/tests/perf-time-to-tsc.c       |   30 +-
 tools/perf/arch/x86/util/auxtrace.c                |   10 +-
 tools/perf/arch/x86/util/intel-bts.c               |   38 +-
 tools/perf/arch/x86/util/intel-pt.c                |   82 +-
 tools/perf/arch/x86/util/kvm-stat.c                |   12 +-
 tools/perf/bench/epoll-ctl.c                       |    7 +-
 tools/perf/bench/epoll-wait.c                      |    7 +-
 tools/perf/bench/futex-hash.c                      |    5 +-
 tools/perf/bench/futex-lock-pi.c                   |    7 +-
 tools/perf/bench/futex-requeue.c                   |    7 +-
 tools/perf/bench/futex-wake-parallel.c             |    6 +-
 tools/perf/bench/futex-wake.c                      |    7 +-
 tools/perf/builtin-annotate.c                      |   16 +-
 tools/perf/builtin-c2c.c                           |   10 +-
 tools/perf/builtin-diff.c                          |   20 +-
 tools/perf/builtin-evlist.c                        |    4 +-
 tools/perf/builtin-ftrace.c                        |   18 +-
 tools/perf/builtin-inject.c                        |   60 +-
 tools/perf/builtin-kmem.c                          |   24 +-
 tools/perf/builtin-kvm.c                           |   46 +-
 tools/perf/builtin-lock.c                          |   30 +-
 tools/perf/builtin-mem.c                           |    2 +-
 tools/perf/builtin-record.c                        |   50 +-
 tools/perf/builtin-report.c                        |   32 +-
 tools/perf/builtin-sched.c                         |   96 +-
 tools/perf/builtin-script.c                        |  167 +--
 tools/perf/builtin-stat.c                          |  135 +--
 tools/perf/builtin-timechart.c                     |   46 +-
 tools/perf/builtin-top.c                           |   71 +-
 tools/perf/builtin-trace.c                         |  180 +--
 tools/perf/lib/Build                               |   12 +
 tools/perf/lib/Documentation/Makefile              |    7 +
 tools/perf/lib/Documentation/man/libperf.rst       |  102 ++
 tools/perf/lib/Documentation/tutorial/tutorial.rst |  123 ++
 tools/perf/lib/Makefile                            |  158 +++
 tools/perf/lib/core.c                              |   34 +
 tools/perf/lib/cpumap.c                            |  239 ++++
 tools/perf/lib/evlist.c                            |  159 +++
 tools/perf/lib/evsel.c                             |  232 ++++
 tools/perf/lib/include/internal/cpumap.h           |   17 +
 tools/perf/lib/include/internal/evlist.h           |   50 +
 tools/perf/lib/include/internal/evsel.h            |   29 +
 tools/perf/lib/include/internal/lib.h              |   10 +
 tools/perf/lib/include/internal/tests.h            |   19 +
 tools/perf/lib/include/internal/threadmap.h        |   23 +
 .../perf/{util => lib/include/internal}/xyarray.h  |    6 +-
 tools/perf/lib/include/perf/core.h                 |   22 +
 tools/perf/lib/include/perf/cpumap.h               |   23 +
 tools/perf/lib/include/perf/evlist.h               |   35 +
 tools/perf/lib/include/perf/evsel.h                |   39 +
 tools/perf/lib/include/perf/threadmap.h            |   18 +
 tools/perf/lib/internal.h                          |   18 +
 tools/perf/lib/lib.c                               |   46 +
 tools/perf/lib/libperf.map                         |   40 +
 tools/perf/lib/libperf.pc.template                 |   11 +
 tools/perf/lib/tests/Makefile                      |   38 +
 tools/perf/lib/tests/test-cpumap.c                 |   21 +
 tools/perf/lib/tests/test-evlist.c                 |  186 +++
 tools/perf/lib/tests/test-evsel.c                  |  125 ++
 tools/perf/lib/tests/test-threadmap.c              |   21 +
 tools/perf/lib/threadmap.c                         |   81 ++
 tools/perf/lib/xyarray.c                           |   33 +
 tools/perf/tests/backward-ring-buffer.c            |   18 +-
 tools/perf/tests/bitmap.c                          |    5 +-
 tools/perf/tests/bpf.c                             |   12 +-
 tools/perf/tests/code-reading.c                    |   50 +-
 tools/perf/tests/cpumap.c                          |   21 +-
 tools/perf/tests/event-times.c                     |   81 +-
 tools/perf/tests/event_update.c                    |   13 +-
 tools/perf/tests/evsel-roundtrip-name.c            |   12 +-
 tools/perf/tests/evsel-tp-sched.c                  |    8 +-
 tools/perf/tests/hists_cumulate.c                  |   18 +-
 tools/perf/tests/hists_filter.c                    |   10 +-
 tools/perf/tests/hists_link.c                      |   10 +-
 tools/perf/tests/hists_output.c                    |   20 +-
 tools/perf/tests/keep-tracking.c                   |   44 +-
 tools/perf/tests/mem2node.c                        |    5 +-
 tools/perf/tests/mmap-basic.c                      |   28 +-
 tools/perf/tests/mmap-thread-lookup.c              |    4 +-
 tools/perf/tests/openat-syscall-all-cpus.c         |   18 +-
 tools/perf/tests/openat-syscall-tp-fields.c        |   14 +-
 tools/perf/tests/openat-syscall.c                  |   10 +-
 tools/perf/tests/parse-events.c                    | 1220 ++++++++++----------
 tools/perf/tests/parse-no-sample-id-all.c          |    6 +-
 tools/perf/tests/perf-record.c                     |   10 +-
 tools/perf/tests/sample-parsing.c                  |    8 +-
 tools/perf/tests/sw-clock.c                        |   33 +-
 tools/perf/tests/switch-tracking.c                 |   64 +-
 tools/perf/tests/task-exit.c                       |   35 +-
 tools/perf/tests/thread-map.c                      |   28 +-
 tools/perf/tests/time-utils-test.c                 |    2 +-
 tools/perf/tests/topology.c                        |    9 +-
 tools/perf/ui/browsers/annotate.c                  |   16 +-
 tools/perf/ui/browsers/hists.c                     |   54 +-
 tools/perf/ui/browsers/res_sample.c                |    4 +-
 tools/perf/ui/browsers/scripts.c                   |    6 +-
 tools/perf/ui/gtk/annotate.c                       |    8 +-
 tools/perf/ui/gtk/gtk.h                            |    8 +-
 tools/perf/ui/gtk/hists.c                          |    6 +-
 tools/perf/ui/hist.c                               |   16 +-
 tools/perf/util/Build                              |    6 -
 tools/perf/util/annotate.c                         |   42 +-
 tools/perf/util/annotate.h                         |   26 +-
 tools/perf/util/auxtrace.c                         |   28 +-
 tools/perf/util/auxtrace.h                         |   24 +-
 tools/perf/util/bpf-event.c                        |    2 +-
 tools/perf/util/bpf-event.h                        |    4 +-
 tools/perf/util/bpf-loader.c                       |   34 +-
 tools/perf/util/bpf-loader.h                       |   28 +-
 tools/perf/util/build-id.c                         |    2 +-
 tools/perf/util/build-id.h                         |    2 +-
 tools/perf/util/callchain.c                        |    2 +-
 tools/perf/util/callchain.h                        |    2 +-
 tools/perf/util/cgroup.c                           |   22 +-
 tools/perf/util/cgroup.h                           |    6 +-
 tools/perf/util/counts.c                           |   17 +-
 tools/perf/util/counts.h                           |   34 +-
 tools/perf/util/cpumap.c                           |  264 +----
 tools/perf/util/cpumap.h                           |   54 +-
 tools/perf/util/cputopo.c                          |   13 +-
 tools/perf/util/cs-etm.c                           |    4 +-
 tools/perf/util/data-convert-bt.c                  |   38 +-
 tools/perf/util/db-export.c                        |   10 +-
 tools/perf/util/db-export.h                        |   10 +-
 tools/perf/util/env.c                              |    2 +-
 tools/perf/util/env.h                              |    2 +-
 tools/perf/util/event.c                            |   30 +-
 tools/perf/util/event.h                            |   14 +-
 tools/perf/util/evlist.c                           |  607 +++++-----
 tools/perf/util/evlist.h                           |  215 ++--
 tools/perf/util/evsel.c                            |  496 ++++----
 tools/perf/util/evsel.h                            |  194 ++--
 tools/perf/util/evsel_fprintf.c                    |   16 +-
 tools/perf/util/header.c                           |  225 ++--
 tools/perf/util/header.h                           |   24 +-
 tools/perf/util/hist.c                             |   32 +-
 tools/perf/util/hist.h                             |   38 +-
 tools/perf/util/intel-bts.c                        |   22 +-
 tools/perf/util/intel-pt.c                         |   94 +-
 tools/perf/util/jitdump.c                          |    8 +-
 tools/perf/util/kvm-stat.h                         |   22 +-
 tools/perf/util/machine.c                          |   12 +-
 tools/perf/util/machine.h                          |    8 +-
 tools/perf/util/map.h                              |    2 +-
 tools/perf/util/metricgroup.c                      |   26 +-
 tools/perf/util/metricgroup.h                      |    6 +-
 tools/perf/util/mmap.c                             |    4 +-
 tools/perf/util/parse-events.c                     |  143 +--
 tools/perf/util/parse-events.h                     |    8 +-
 tools/perf/util/pmu.c                              |   15 +-
 tools/perf/util/pmu.h                              |    2 +-
 tools/perf/util/python-ext-sources                 |    2 -
 tools/perf/util/python.c                           |   73 +-
 tools/perf/util/record.c                           |   73 +-
 tools/perf/util/s390-cpumsf.c                      |    4 +-
 tools/perf/util/s390-sample-raw.c                  |    6 +-
 tools/perf/util/sample-raw.c                       |    2 +-
 tools/perf/util/sample-raw.h                       |    6 +-
 .../perf/util/scripting-engines/trace-event-perl.c |   14 +-
 .../util/scripting-engines/trace-event-python.c    |   40 +-
 tools/perf/util/session.c                          |   81 +-
 tools/perf/util/session.h                          |   12 +-
 tools/perf/util/setup.py                           |    3 +-
 tools/perf/util/sort.c                             |   60 +-
 tools/perf/util/sort.h                             |    6 +-
 tools/perf/util/stat-display.c                     |  112 +-
 tools/perf/util/stat-shadow.c                      |   70 +-
 tools/perf/util/stat.c                             |   64 +-
 tools/perf/util/stat.h                             |   35 +-
 tools/perf/util/svghelper.c                        |    7 +-
 tools/perf/util/thread_map.c                       |  131 +--
 tools/perf/util/thread_map.h                       |   58 +-
 tools/perf/util/tool.h                             |    8 +-
 tools/perf/util/top.c                              |   12 +-
 tools/perf/util/top.h                              |    8 +-
 tools/perf/util/trace-event-info.c                 |   14 +-
 tools/perf/util/trace-event-scripting.c            |    2 +-
 tools/perf/util/trace-event.h                      |    4 +-
 tools/perf/util/util.c                             |   40 -
 tools/perf/util/util.h                             |    4 +-
 189 files changed, 5313 insertions(+), 3819 deletions(-)
 create mode 100644 tools/perf/lib/Build
 create mode 100644 tools/perf/lib/Documentation/Makefile
 create mode 100644 tools/perf/lib/Documentation/man/libperf.rst
 create mode 100644 tools/perf/lib/Documentation/tutorial/tutorial.rst
 create mode 100644 tools/perf/lib/Makefile
 create mode 100644 tools/perf/lib/core.c
 create mode 100644 tools/perf/lib/cpumap.c
 create mode 100644 tools/perf/lib/evlist.c
 create mode 100644 tools/perf/lib/evsel.c
 create mode 100644 tools/perf/lib/include/internal/cpumap.h
 create mode 100644 tools/perf/lib/include/internal/evlist.h
 create mode 100644 tools/perf/lib/include/internal/evsel.h
 create mode 100644 tools/perf/lib/include/internal/lib.h
 create mode 100644 tools/perf/lib/include/internal/tests.h
 create mode 100644 tools/perf/lib/include/internal/threadmap.h
 rename tools/perf/{util => lib/include/internal}/xyarray.h (84%)
 create mode 100644 tools/perf/lib/include/perf/core.h
 create mode 100644 tools/perf/lib/include/perf/cpumap.h
 create mode 100644 tools/perf/lib/include/perf/evlist.h
 create mode 100644 tools/perf/lib/include/perf/evsel.h
 create mode 100644 tools/perf/lib/include/perf/threadmap.h
 create mode 100644 tools/perf/lib/internal.h
 create mode 100644 tools/perf/lib/lib.c
 create mode 100644 tools/perf/lib/libperf.map
 create mode 100644 tools/perf/lib/libperf.pc.template
 create mode 100644 tools/perf/lib/tests/Makefile
 create mode 100644 tools/perf/lib/tests/test-cpumap.c
 create mode 100644 tools/perf/lib/tests/test-evlist.c
 create mode 100644 tools/perf/lib/tests/test-evsel.c
 create mode 100644 tools/perf/lib/tests/test-threadmap.c
 create mode 100644 tools/perf/lib/threadmap.c
 create mode 100644 tools/perf/lib/xyarray.c

^ permalink raw reply	[flat|nested] 192+ messages in thread

end of thread, other threads:[~2019-08-23  2:16 UTC | newest]

Thread overview: 192+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-21 11:23 [RFC 00/79] perf tools: Initial libperf separation Jiri Olsa
2019-07-21 11:23 ` [PATCH 01/79] perf tools: Move loaded out of struct perf_counts_values Jiri Olsa
2019-07-30 18:07   ` [tip:perf/core] perf stat: " tip-bot for Jiri Olsa
2019-07-21 11:23 ` [PATCH 02/79] perf tools: Rename struct cpu_map to struct perf_cpu_map Jiri Olsa
2019-07-30 18:08   ` [tip:perf/core] perf cpu_map: " tip-bot for Jiri Olsa
2019-07-21 11:23 ` [PATCH 03/79] perf tools: Rename struct thread_map to struct perf_thread_map Jiri Olsa
2019-07-30 18:09   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:23 ` [PATCH 04/79] perf tools: Rename struct perf_evsel to struct evsel Jiri Olsa
2019-07-30 18:09   ` [tip:perf/core] perf evsel: " tip-bot for Jiri Olsa
2019-07-21 11:23 ` [PATCH 05/79] perf tools: Rename struct perf_evlist to struct evlist Jiri Olsa
2019-07-30 18:10   ` [tip:perf/core] perf evlist: " tip-bot for Jiri Olsa
2019-07-21 11:23 ` [PATCH 06/79] perf tools: Rename perf_evsel__init to evsel__init Jiri Olsa
2019-07-30 18:11   ` [tip:perf/core] perf evsel: Rename perf_evsel__init() to evsel__init() tip-bot for Jiri Olsa
2019-07-21 11:23 ` [PATCH 07/79] perf tools: Rename perf_evlist__init to evlist__init Jiri Olsa
2019-07-30 18:12   ` [tip:perf/core] perf evlist: Rename perf_evlist__init() to evlist__init() tip-bot for Jiri Olsa
2019-07-21 11:23 ` [PATCH 08/79] perf tools: Rename perf_evlist__new to evlist__new Jiri Olsa
2019-07-30 18:12   ` [tip:perf/core] perf evlist: Rename perf_evlist__new() to evlist__new() tip-bot for Jiri Olsa
2019-07-21 11:23 ` [PATCH 09/79] perf tools: Rename perf_evlist__delete to evlist__delete Jiri Olsa
2019-07-30 18:13   ` [tip:perf/core] perf evlist: Rename perf_evlist__delete() to evlist__delete() tip-bot for Jiri Olsa
2019-07-21 11:23 ` [PATCH 10/79] perf tools: Rename perf_evsel__delete to evsel__delete Jiri Olsa
2019-07-30 18:14   ` [tip:perf/core] perf evsel: Rename perf_evsel__delete() to evsel__delete() tip-bot for Jiri Olsa
2019-07-21 11:23 ` [PATCH 11/79] perf tools: Rename perf_evsel__new to evsel__new Jiri Olsa
2019-07-30 18:15   ` [tip:perf/core] perf evsel: Rename perf_evsel__new() to evsel__new() tip-bot for Jiri Olsa
2019-07-21 11:23 ` [PATCH 12/79] perf tools: Rename perf_evlist__add to evlist__add Jiri Olsa
2019-07-30 18:15   ` [tip:perf/core] perf evlist: Rename perf_evlist__add() to evlist__add() tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 13/79] perf tools: Rename perf_evlist__remove to evlist__remove Jiri Olsa
2019-07-30 18:16   ` [tip:perf/core] perf evlist: Rename perf_evlist__remove() to evlist__remove() tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 14/79] perf tools: Rename perf_evsel__open to evsel__open Jiri Olsa
2019-07-30 18:17   ` [tip:perf/core] perf evsel: Rename perf_evsel__open() to evsel__open() tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 15/79] perf tools: Rename perf_evsel__enable to evsel__enable Jiri Olsa
2019-07-30 18:17   ` [tip:perf/core] perf evsel: Rename perf_evsel__enable() to evsel__enable() tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 16/79] perf tools: Rename perf_evsel__disable to evsel__disable Jiri Olsa
2019-07-30 18:18   ` [tip:perf/core] perf evsel: Rename perf_evsel__disable() to evsel__disable() tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 17/79] perf tools: Rename perf_evsel__apply_filter to evsel__apply_filter Jiri Olsa
2019-07-30 18:19   ` [tip:perf/core] perf evsel: Rename perf_evsel__apply_filter() to evsel__apply_filter() tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 18/79] perf tools: Rename perf_evsel__cpus to evsel__cpus Jiri Olsa
2019-07-30 18:20   ` [tip:perf/core] perf evsel: Rename perf_evsel__cpus() to evsel__cpus() tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 19/79] perf tools: Rename perf_evlist__open to evlist__open Jiri Olsa
2019-07-30 18:20   ` [tip:perf/core] perf evlist: Rename perf_evlist__open() to evlist__open() tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 20/79] perf tools: Rename perf_evlist__close to evlist__close Jiri Olsa
2019-07-30 18:21   ` [tip:perf/core] perf evlist: Rename perf_evlist__close() to evlist__close() tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 21/79] perf tools: Rename perf_evlist__enable to evlist__enable Jiri Olsa
2019-07-30 18:22   ` [tip:perf/core] perf evlist: Rename perf_evlist__enable() to evlist__enable() tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 22/79] perf tools: Rename perf_evlist__disable to evlist__disable Jiri Olsa
2019-07-30 18:23   ` [tip:perf/core] perf evlist: Rename perf_evlist__disable() to evlist__disable() tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 23/79] libperf: Make libperf.a part of the build Jiri Olsa
2019-07-22 12:39   ` Arnaldo Carvalho de Melo
2019-07-22 15:54     ` Jiri Olsa
2019-07-22 17:34       ` Arnaldo Carvalho de Melo
2019-07-26 14:41   ` Arnaldo Carvalho de Melo
2019-07-30 18:24   ` [tip:perf/core] libperf: Make libperf.a part of the perf build tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 24/79] libperf: Add build version support Jiri Olsa
2019-07-30 18:24   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 25/79] libperf: Add libperf in python.so compilation Jiri Olsa
2019-07-30 18:25   ` [tip:perf/core] libperf: Add libperf to the python.so build tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 26/79] libperf: Add perf/core.h header Jiri Olsa
2019-07-30 18:26   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 27/79] libperf: Add debug output support Jiri Olsa
2019-07-30 18:27   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 28/79] libperf: Add perf_cpu_map struct Jiri Olsa
2019-07-30 18:27   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-08-18 14:04   ` [PATCH 28/79] " Guenter Roeck
2019-08-18 19:40     ` Jiri Olsa
2019-08-18 21:28       ` Guenter Roeck
2019-08-19  8:21         ` Jiri Olsa
2019-08-20 12:46           ` [PATCH] libperf: Fix arch include paths Jiri Olsa
2019-08-20 15:26             ` Guenter Roeck
2019-08-20 15:31               ` Arnaldo Carvalho de Melo
2019-08-23  2:16             ` [tip: perf/core] " tip-bot2 for Jiri Olsa
2019-07-21 11:24 ` [PATCH 29/79] libperf: Add perf_cpu_map__dummy_new function Jiri Olsa
2019-07-30 18:28   ` [tip:perf/core] libperf: Add perf_cpu_map__dummy_new() function tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 30/79] libperf: Add perf_cpu_map__get/perf_cpu_map__put Jiri Olsa
2019-07-30 18:29   ` [tip:perf/core] libperf: Add perf_cpu_map__get()/perf_cpu_map__put() tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 31/79] libperf: Add perf_thread_map struct Jiri Olsa
2019-07-30 18:30   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 32/79] libperf: Add perf_thread_map__new_dummy function Jiri Olsa
2019-07-30 18:31   ` [tip:perf/core] libperf: Add perf_thread_map__new_dummy() function tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 33/79] libperf: Add perf_thread_map__get/perf_thread_map__put Jiri Olsa
2019-07-30 18:31   ` [tip:perf/core] libperf: Add perf_thread_map__get()/perf_thread_map__put() tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 34/79] libperf: Add perf_evlist and perf_evsel structs Jiri Olsa
2019-07-30 18:32   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 35/79] libperf: Include perf_evsel in evsel object Jiri Olsa
2019-07-30 18:33   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 36/79] libperf: Include perf_evlist in evlist object Jiri Olsa
2019-07-30 18:34   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 37/79] libperf: Add perf_evsel__init function Jiri Olsa
2019-07-30 18:34   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 38/79] libperf: Add perf_evlist__init function Jiri Olsa
2019-07-22 19:39   ` Arnaldo Carvalho de Melo
2019-07-22 22:17     ` Jiri Olsa
2019-07-30 18:35   ` [tip:perf/core] libperf: Add perf_evlist__init() function tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 39/79] libperf: Add perf_evlist__add function Jiri Olsa
2019-07-22 19:09   ` Arnaldo Carvalho de Melo
2019-07-22 22:22     ` Jiri Olsa
2019-07-22 20:38   ` Arnaldo Carvalho de Melo
2019-07-30 18:36   ` [tip:perf/core] libperf: Add perf_evlist__add() function tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 40/79] libperf: Add perf_evlist__remove function Jiri Olsa
2019-07-30 18:37   ` [tip:perf/core] libperf: Add perf_evlist__remove() function tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 41/79] libperf: Add nr_entries to perf_evlist Jiri Olsa
2019-07-30 18:37   ` [tip:perf/core] libperf: Add nr_entries to struct perf_evlist tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 42/79] libperf: Add attr to perf_evsel Jiri Olsa
2019-07-24 15:25   ` Arnaldo Carvalho de Melo
2019-07-30 18:38   ` [tip:perf/core] libperf: Move perf_event_attr field from perf's evsel to libperf's perf_evsel tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 43/79] libperf: Add perf_cpu_map__new/perf_cpu_map__read functions Jiri Olsa
2019-07-24 15:32   ` Arnaldo Carvalho de Melo
2019-07-30 18:39   ` [tip:perf/core] libperf: Add perf_cpu_map__new()/perf_cpu_map__read() functions tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 44/79] libperf: Move zalloc.o into libperf Jiri Olsa
2019-07-30 18:40   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 45/79] libperf: Add perf_evlist__new function Jiri Olsa
2019-07-30 18:41   ` [tip:perf/core] libperf: Add perf_evlist__new() function tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 46/79] libperf: Add perf_evsel__new function Jiri Olsa
2019-07-30 18:41   ` [tip:perf/core] libperf: Add perf_evsel__new() function tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 47/79] libperf: Add perf_evlist__for_each_evsel macro Jiri Olsa
2019-07-24 15:42   ` Arnaldo Carvalho de Melo
2019-07-30 18:42   ` [tip:perf/core] libperf: Add perf_evlist__for_each_evsel() iterator tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 48/79] libperf: Add perf_evlist__delete function Jiri Olsa
2019-07-30 18:43   ` [tip:perf/core] libperf: Add perf_evlist__delete() function tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 49/79] libperf: Add perf_evsel__delete function Jiri Olsa
2019-07-30 18:44   ` [tip:perf/core] libperf: Add perf_evsel__delete() function tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 50/79] libperf: Add cpus to struct perf_evsel Jiri Olsa
2019-07-30 18:44   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 51/79] libperf: Add own_cpus " Jiri Olsa
2019-07-30 18:45   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 52/79] libperf: Add threads " Jiri Olsa
2019-07-30 18:46   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 53/79] libperf: Add has_user_cpus to struct perf_evlist Jiri Olsa
2019-07-30 18:46   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 54/79] libperf: Add cpus " Jiri Olsa
2019-07-24 17:05   ` Arnaldo Carvalho de Melo
2019-07-30 18:47   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 55/79] libperf: Add threads " Jiri Olsa
2019-07-30 18:48   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 56/79] libperf: Add perf_evlist__set_maps function Jiri Olsa
2019-07-24 17:14   ` Arnaldo Carvalho de Melo
2019-07-30 18:49   ` [tip:perf/core] libperf: Add perf_evlist__set_maps() function tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 57/79] libperf: Add xyarray object Jiri Olsa
2019-07-30 18:49   ` [tip:perf/core] libperf: Adopt xyarray class from perf tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 58/79] libperf: Add fd array to struct perf_evsel Jiri Olsa
2019-07-30 18:50   ` [tip:perf/core] libperf: Move fd array from perf's evsel to lobperf's perf_evsel class tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 59/79] libperf: Add nr_members to struct perf_evsel Jiri Olsa
2019-07-30 18:51   ` [tip:perf/core] libperf: Move nr_members from perf's evsel to libperf's perf_evsel tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 60/79] libperf: Add readn/writen function Jiri Olsa
2019-07-30 18:52   ` [tip:perf/core] libperf: Adopt the readn()/writen() functions from tools/perf tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 61/79] libperf: Add perf_evsel__alloc_fd function Jiri Olsa
2019-07-30 18:53   ` [tip:perf/core] libperf: Adopt perf_evsel__alloc_fd() function from tools/perf tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 62/79] libperf: Add perf_evsel__open function Jiri Olsa
2019-07-30 18:53   ` [tip:perf/core] libperf: Adopt simplified perf_evsel__open() function from tools/perf tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 63/79] libperf: Add perf_evsel__close function Jiri Olsa
2019-07-30 18:54   ` [tip:perf/core] libperf: Adopt simplified perf_evsel__close() function from tools/perf tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 64/79] libperf: Add perf_evsel__read function Jiri Olsa
2019-07-30 18:55   ` [tip:perf/core] libperf: Adopt perf_evsel__read() function from tools/perf tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 65/79] libperf: Add perf_evsel__enable/disable/apply_filter functions Jiri Olsa
2019-07-30 18:56   ` [tip:perf/core] libperf: Adopt perf_evsel__enable()/disable()/apply_filter() functions tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 66/79] libperf: Add perf_cpu_map__for_each_cpu macro Jiri Olsa
2019-07-30 18:57   ` [tip:perf/core] libperf: Add perf_cpu_map__for_each_cpu() macro tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 67/79] libperf: Add perf_evsel__cpus/threads functions Jiri Olsa
2019-07-30 18:57   ` [tip:perf/core] libperf: Add perf_evsel__cpus()/threads() functions tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 68/79] libperf: Add perf_evlist__open/close functions Jiri Olsa
2019-07-30 18:58   ` [tip:perf/core] libperf: Adopt simplified perf_evlist__open()/close() functions from tools/perf tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 69/79] libperf: Add perf_evlist__enable/disable functions Jiri Olsa
2019-07-30 18:59   ` [tip:perf/core] libperf: Adopt perf_evlist__enable()/disable() functions from perf tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 70/79] libperf: Add perf_evsel__attr functions Jiri Olsa
2019-07-30 19:00   ` [tip:perf/core] libperf: Add perf_evsel__attr() function tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 71/79] libperf: Add install targets Jiri Olsa
2019-07-25 10:31   ` Arnaldo Carvalho de Melo
2019-07-30 19:00   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:24 ` [PATCH 72/79] libperf: Add tests support Jiri Olsa
2019-07-30 19:01   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:25 ` [PATCH 73/79] libperf: Add perf_cpu_map test Jiri Olsa
2019-07-25 10:39   ` Arnaldo Carvalho de Melo
2019-07-30 19:02   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:25 ` [PATCH 74/79] libperf: Add perf_thread_map test Jiri Olsa
2019-07-30 19:03   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:25 ` [PATCH 75/79] libperf: Add perf_evlist test Jiri Olsa
2019-07-30 19:04   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:25 ` [PATCH 76/79] libperf: Add perf_evsel tests Jiri Olsa
2019-07-30 19:04   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:25 ` [PATCH 77/79] libperf: Add perf_evlist__enable/disable test Jiri Olsa
2019-07-30 19:05   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:25 ` [PATCH 78/79] libperf: Add perf_evsel__enable/disable test Jiri Olsa
2019-07-30 19:06   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-21 11:25 ` [PATCH 79/79] libperf: Initial documentation Jiri Olsa
2019-07-30 19:07   ` [tip:perf/core] " tip-bot for Jiri Olsa
2019-07-22 16:23 ` [RFC 00/79] perf tools: Initial libperf separation Ian Rogers
2019-07-24  8:53   ` Jiri Olsa
2019-07-24  7:42 ` Song Liu
2019-07-24  8:33   ` Jiri Olsa
2019-07-24  8:49     ` Song Liu
2019-07-24 13:50   ` Arnaldo Carvalho de Melo
2019-07-25  5:23     ` Song Liu
2019-07-25 10:59 ` Arnaldo Carvalho de Melo
2019-08-05  8:21 ` Alexey Budankov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).