All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/4] perf use system libtraceevent
@ 2022-11-30  6:29 Ian Rogers
  2022-11-30  6:29 ` [PATCH v2 1/4] perf util: Make header guard consistent with tool Ian Rogers
                   ` (4 more replies)
  0 siblings, 5 replies; 17+ messages in thread
From: Ian Rogers @ 2022-11-30  6:29 UTC (permalink / raw)
  To: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
	Mark Rutland, Alexander Shishkin, Jiri Olsa, Namhyung Kim,
	Masami Hiramatsu, Steven Rostedt, Adrian Hunter, Leo Yan,
	Kan Liang, linux-kernel, linux-perf-users
  Cc: Stephane Eranian, Ian Rogers

Detect whether libtraceevent is installed and if so build against
it. If not installed, warn and build a subset of perf that works
without libtraceevent. With nothing using the now out-of-date
tools/lib/traceevent remove it.

Discussed on LKML here:
https://lore.kernel.org/lkml/CAP-5=fWxAjEia-Qbm0RVzKOxyiod8rUOBieqaGK=DtQboDe3Qw@mail.gmail.com/

Builds upon:
https://lore.kernel.org/lkml/20221116224631.207631-1-irogers@google.com/

Based on discussion of the v1 patch set:
https://lore.kernel.org/lkml/20221117224952.358639-1-irogers@google.com/
v2 conditionally compiles a subset of perf that doesn't require
libtraceevent to avoid having to have libtraceevent installed on a
system.

The changes build upon the fix in:
https://lore.kernel.org/lkml/20221129192924.1580537-1-irogers@google.com/

Ian Rogers (4):
  perf util: Make header guard consistent with tool
  perf util: Add host_is_bigendian to util.h
  perf build: Use libtraceevent from the system
  tools lib traceevent: Remove libtraceevent

 tools/lib/traceevent/.gitignore               |    4 -
 tools/lib/traceevent/Build                    |    8 -
 tools/lib/traceevent/Documentation/Makefile   |  207 -
 .../traceevent/Documentation/asciidoc.conf    |  120 -
 .../Documentation/libtraceevent-commands.txt  |  153 -
 .../Documentation/libtraceevent-cpus.txt      |   77 -
 .../libtraceevent-endian_read.txt             |   78 -
 .../libtraceevent-event_find.txt              |  103 -
 .../Documentation/libtraceevent-event_get.txt |   99 -
 .../libtraceevent-event_list.txt              |  122 -
 .../libtraceevent-event_print.txt             |  130 -
 .../libtraceevent-field_find.txt              |  118 -
 .../libtraceevent-field_get_val.txt           |  122 -
 .../libtraceevent-field_print.txt             |  126 -
 .../libtraceevent-field_read.txt              |   81 -
 .../Documentation/libtraceevent-fields.txt    |  105 -
 .../libtraceevent-file_endian.txt             |   91 -
 .../Documentation/libtraceevent-filter.txt    |  209 -
 .../Documentation/libtraceevent-func_apis.txt |  183 -
 .../Documentation/libtraceevent-func_find.txt |   88 -
 .../Documentation/libtraceevent-handle.txt    |  101 -
 .../libtraceevent-header_page.txt             |  102 -
 .../libtraceevent-host_endian.txt             |  104 -
 .../Documentation/libtraceevent-long_size.txt |   78 -
 .../Documentation/libtraceevent-page_size.txt |   82 -
 .../libtraceevent-parse_event.txt             |   90 -
 .../libtraceevent-parse_head.txt              |   82 -
 .../Documentation/libtraceevent-plugins.txt   |  122 -
 .../libtraceevent-record_parse.txt            |  137 -
 .../libtraceevent-reg_event_handler.txt       |  156 -
 .../libtraceevent-reg_print_func.txt          |  155 -
 .../Documentation/libtraceevent-set_flag.txt  |  104 -
 .../Documentation/libtraceevent-strerror.txt  |   85 -
 .../Documentation/libtraceevent-tseq.txt      |  158 -
 .../Documentation/libtraceevent.txt           |  192 -
 .../traceevent/Documentation/manpage-1.72.xsl |   14 -
 .../traceevent/Documentation/manpage-base.xsl |   35 -
 .../Documentation/manpage-bold-literal.xsl    |   17 -
 .../Documentation/manpage-normal.xsl          |   13 -
 .../Documentation/manpage-suppress-sp.xsl     |   21 -
 tools/lib/traceevent/Makefile                 |  300 -
 tools/lib/traceevent/event-parse-api.c        |  333 -
 tools/lib/traceevent/event-parse-local.h      |  123 -
 tools/lib/traceevent/event-parse.c            | 7624 -----------------
 tools/lib/traceevent/event-parse.h            |  750 --
 tools/lib/traceevent/event-plugin.c           |  711 --
 tools/lib/traceevent/event-utils.h            |   67 -
 tools/lib/traceevent/kbuffer-parse.c          |  809 --
 tools/lib/traceevent/kbuffer.h                |   68 -
 .../lib/traceevent/libtraceevent.pc.template  |   10 -
 tools/lib/traceevent/parse-filter.c           | 2281 -----
 tools/lib/traceevent/parse-utils.c            |   71 -
 tools/lib/traceevent/plugins/Build            |   12 -
 tools/lib/traceevent/plugins/Makefile         |  225 -
 .../lib/traceevent/plugins/plugin_cfg80211.c  |   43 -
 .../lib/traceevent/plugins/plugin_function.c  |  282 -
 tools/lib/traceevent/plugins/plugin_futex.c   |  123 -
 tools/lib/traceevent/plugins/plugin_hrtimer.c |   74 -
 tools/lib/traceevent/plugins/plugin_jbd2.c    |   61 -
 tools/lib/traceevent/plugins/plugin_kmem.c    |   80 -
 tools/lib/traceevent/plugins/plugin_kvm.c     |  527 --
 .../lib/traceevent/plugins/plugin_mac80211.c  |   88 -
 .../traceevent/plugins/plugin_sched_switch.c  |  146 -
 tools/lib/traceevent/plugins/plugin_scsi.c    |  434 -
 tools/lib/traceevent/plugins/plugin_tlb.c     |   66 -
 tools/lib/traceevent/plugins/plugin_xen.c     |  138 -
 tools/lib/traceevent/tep_strerror.c           |   53 -
 tools/lib/traceevent/trace-seq.c              |  249 -
 tools/lib/traceevent/trace-seq.h              |   55 -
 tools/perf/Build                              |   11 +-
 tools/perf/Makefile.config                    |   37 +-
 tools/perf/Makefile.perf                      |   99 +-
 tools/perf/arch/x86/util/Build                |    2 +-
 tools/perf/arch/x86/util/intel-pt.c           |    4 +
 tools/perf/builtin-annotate.c                 |    2 +
 tools/perf/builtin-inject.c                   |    8 +
 tools/perf/builtin-kmem.c                     |    1 +
 tools/perf/builtin-kvm.c                      |   12 +-
 tools/perf/builtin-kwork.c                    |    1 +
 tools/perf/builtin-record.c                   |    2 +
 tools/perf/builtin-report.c                   |    9 +-
 tools/perf/builtin-script.c                   |   19 +-
 tools/perf/builtin-timechart.c                |    1 +
 tools/perf/builtin-trace.c                    |    5 +-
 tools/perf/builtin-version.c                  |    1 +
 tools/perf/perf.c                             |   24 +-
 .../perf/scripts/python/Perf-Trace-Util/Build |    2 +-
 tools/perf/tests/Build                        |   12 +-
 tools/perf/tests/builtin-test.c               |    6 +
 tools/perf/tests/code-reading.c               |    4 +-
 tools/perf/tests/parse-events.c               |   20 +
 tools/perf/tests/sample-parsing.c             |    4 +-
 tools/perf/util/Build                         |   10 +-
 tools/perf/util/data-convert-bt.c             |    5 +-
 tools/perf/util/data-convert-json.c           |    9 +-
 tools/perf/util/evlist.c                      |    6 +-
 tools/perf/util/evlist.h                      |    4 +
 tools/perf/util/evsel.c                       |   16 +-
 tools/perf/util/evsel.h                       |   12 +-
 tools/perf/util/evsel_fprintf.c               |    7 +-
 tools/perf/util/header.c                      |   19 +
 tools/perf/util/header.h                      |    2 +
 tools/perf/util/intel-pt.c                    |    7 +-
 tools/perf/util/parse-events.c                |   15 +
 tools/perf/util/parse-events.h                |    1 -
 tools/perf/util/python.c                      |    4 +
 tools/perf/util/scripting-engines/Build       |    6 +-
 .../scripting-engines/trace-event-python.c    |    1 +
 tools/perf/util/session.c                     |    2 +
 tools/perf/util/session.h                     |    2 +
 tools/perf/util/sort.c                        |   60 +-
 tools/perf/util/synthetic-events.c            |    6 +
 tools/perf/util/trace-event-info.c            |   14 +-
 tools/perf/util/trace-event-parse.c           |    2 +
 tools/perf/util/trace-event-read.c            |    4 +-
 tools/perf/util/trace-event-scripting.c       |    1 +
 tools/perf/util/trace-event.c                 |    1 -
 tools/perf/util/trace-event.h                 |   13 +-
 tools/perf/util/util.h                        |   25 +-
 119 files changed, 344 insertions(+), 20071 deletions(-)
 delete mode 100644 tools/lib/traceevent/.gitignore
 delete mode 100644 tools/lib/traceevent/Build
 delete mode 100644 tools/lib/traceevent/Documentation/Makefile
 delete mode 100644 tools/lib/traceevent/Documentation/asciidoc.conf
 delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-commands.txt
 delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-cpus.txt
 delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-endian_read.txt
 delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-event_find.txt
 delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-event_get.txt
 delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-event_list.txt
 delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-event_print.txt
 delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-field_find.txt
 delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-field_get_val.txt
 delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-field_print.txt
 delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-field_read.txt
 delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-fields.txt
 delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-file_endian.txt
 delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-filter.txt
 delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-func_apis.txt
 delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-func_find.txt
 delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-handle.txt
 delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-header_page.txt
 delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-host_endian.txt
 delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-long_size.txt
 delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-page_size.txt
 delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-parse_event.txt
 delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-parse_head.txt
 delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-plugins.txt
 delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-record_parse.txt
 delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-reg_event_handler.txt
 delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-reg_print_func.txt
 delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-set_flag.txt
 delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-strerror.txt
 delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-tseq.txt
 delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent.txt
 delete mode 100644 tools/lib/traceevent/Documentation/manpage-1.72.xsl
 delete mode 100644 tools/lib/traceevent/Documentation/manpage-base.xsl
 delete mode 100644 tools/lib/traceevent/Documentation/manpage-bold-literal.xsl
 delete mode 100644 tools/lib/traceevent/Documentation/manpage-normal.xsl
 delete mode 100644 tools/lib/traceevent/Documentation/manpage-suppress-sp.xsl
 delete mode 100644 tools/lib/traceevent/Makefile
 delete mode 100644 tools/lib/traceevent/event-parse-api.c
 delete mode 100644 tools/lib/traceevent/event-parse-local.h
 delete mode 100644 tools/lib/traceevent/event-parse.c
 delete mode 100644 tools/lib/traceevent/event-parse.h
 delete mode 100644 tools/lib/traceevent/event-plugin.c
 delete mode 100644 tools/lib/traceevent/event-utils.h
 delete mode 100644 tools/lib/traceevent/kbuffer-parse.c
 delete mode 100644 tools/lib/traceevent/kbuffer.h
 delete mode 100644 tools/lib/traceevent/libtraceevent.pc.template
 delete mode 100644 tools/lib/traceevent/parse-filter.c
 delete mode 100644 tools/lib/traceevent/parse-utils.c
 delete mode 100644 tools/lib/traceevent/plugins/Build
 delete mode 100644 tools/lib/traceevent/plugins/Makefile
 delete mode 100644 tools/lib/traceevent/plugins/plugin_cfg80211.c
 delete mode 100644 tools/lib/traceevent/plugins/plugin_function.c
 delete mode 100644 tools/lib/traceevent/plugins/plugin_futex.c
 delete mode 100644 tools/lib/traceevent/plugins/plugin_hrtimer.c
 delete mode 100644 tools/lib/traceevent/plugins/plugin_jbd2.c
 delete mode 100644 tools/lib/traceevent/plugins/plugin_kmem.c
 delete mode 100644 tools/lib/traceevent/plugins/plugin_kvm.c
 delete mode 100644 tools/lib/traceevent/plugins/plugin_mac80211.c
 delete mode 100644 tools/lib/traceevent/plugins/plugin_sched_switch.c
 delete mode 100644 tools/lib/traceevent/plugins/plugin_scsi.c
 delete mode 100644 tools/lib/traceevent/plugins/plugin_tlb.c
 delete mode 100644 tools/lib/traceevent/plugins/plugin_xen.c
 delete mode 100644 tools/lib/traceevent/tep_strerror.c
 delete mode 100644 tools/lib/traceevent/trace-seq.c
 delete mode 100644 tools/lib/traceevent/trace-seq.h

-- 
2.38.1.584.g0f3c55d4c2-goog


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

end of thread, other threads:[~2022-12-12 20:10 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-11-30  6:29 [PATCH v2 0/4] perf use system libtraceevent Ian Rogers
2022-11-30  6:29 ` [PATCH v2 1/4] perf util: Make header guard consistent with tool Ian Rogers
2022-11-30 18:47   ` Namhyung Kim
2022-11-30  6:29 ` [PATCH v2 2/4] perf util: Add host_is_bigendian to util.h Ian Rogers
2022-11-30 18:52   ` Namhyung Kim
2022-12-05 13:16     ` Arnaldo Carvalho de Melo
2022-11-30  6:29 ` [PATCH v2 3/4] perf build: Use libtraceevent from the system Ian Rogers
2022-11-30 19:05   ` Namhyung Kim
2022-11-30 20:13     ` Ian Rogers
2022-12-02 18:08       ` Namhyung Kim
2022-12-02 18:29         ` Arnaldo Carvalho de Melo
2022-12-02 19:45           ` Ian Rogers
2022-12-02 23:36             ` Namhyung Kim
2022-11-30  6:29 ` [PATCH v2 4/4] tools lib traceevent: Remove libtraceevent Ian Rogers
2022-12-12 19:52   ` Arnaldo Carvalho de Melo
2022-12-12 20:10     ` Arnaldo Carvalho de Melo
2022-12-05 13:01 ` [PATCH v2 0/4] perf use system libtraceevent Arnaldo Carvalho de Melo

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.