From: Mathieu Poirier <mathieu.poirier@linaro.org> To: acme@kernel.org Cc: peterz@infradead.org, mingo@redhat.com, alexander.shishkin@linux.intel.com, namhyung@kernel.org, adrian.hunter@intel.com, mike.leach@arm.com, suzuki.poulosi@arm.com, jolsa@redhat.com, kim.phillips@arm.com, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH v2 00/10] perf tools: Add support for CoreSight trace decoding Date: Mon, 15 Jan 2018 11:13:04 -0700 [thread overview] Message-ID: <1516039994-314-1-git-send-email-mathieu.poirier@linaro.org> (raw) Hi Arnaldo, This patchset adds support for per-thread CoreSight trace decoding from the "perf report" interface. It is largely modelled on what has been done for intelPT traces and currently targets the ETMv4 architecture. Support for cpu-wide scenarios and ETMv3/PTMv1.1 will follow shortly. The trace decoding support is done using the Open CoreSight Decoding Library (openCSD), a stand alone open source project available here [1]. Integration of the openCSD library with the perf tools follow what has been done for other support libraries. If the library has been installed on a system the build scripts will include support for CoreSight trace decoding: ... zlib: [ on ] ... lzma: [ OFF ] ... get_cpuid: [ on ] ... bpf: [ on ] ... libopencsd: [ on ] <------ Instructions on how to build and install the openCSD library are provided in the HOWTO.md of the project repository. We elected to keep the decoder library independent of the kernel tree as it is also used outside of the perf toolset and various non-linux projects. The work applies cleanly to [2] and depend on the following patches [3, 4]. Lastly there is a divergence of opinions on whether the decoding library should be part of the kernel tree or live on its own as we chose to do - your point of view on the matter would be greatly appreciated. Regards, Mathieu [1]. https://github.com/Linaro/OpenCSD [2]. git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git perf/core [3]. https://marc.info/?l=linux-kernel&m=151561673423088&w=2 [4]. https://marc.info/?l=linux-kernel&m=151579875721440&w=2 Changes for V2: . Rebased to Acme's latest (321e85e9458a) . Following what has been done for libdw and libbabeltrace and added the possibililty to use alternate header/library for development purposes. Mathieu Poirier (8): perf tools: Integrating the CoreSight decoding library perf tools: Add initial entry point for decoder CoreSight traces perf tools: Add decoder mechanic to support dumping trace data perf tools: Add support for decoding CoreSight trace data perf tools: Add functionality to communicate with the openCSD decoder pert tools: Add queue management functionality perf tools: Add full support for CoreSight trace decoding perf tools: Add mechanic to synthesise CoreSight trace packets Tor Jeremiassen (2): perf tools: Add processing of coresight metadata MAINTAINERS: Adding entry for CoreSight trace decoding MAINTAINERS | 3 +- tools/build/Makefile.feature | 6 +- tools/build/feature/Makefile | 7 +- tools/build/feature/test-all.c | 5 + tools/build/feature/test-libopencsd.c | 8 + tools/perf/Makefile.config | 25 + tools/perf/Makefile.perf | 2 + tools/perf/util/Build | 6 + tools/perf/util/auxtrace.c | 2 + tools/perf/util/cs-etm-decoder/Build | 1 + tools/perf/util/cs-etm-decoder/cs-etm-decoder.c | 513 ++++++++++++ tools/perf/util/cs-etm-decoder/cs-etm-decoder.h | 105 +++ tools/perf/util/cs-etm.c | 1023 +++++++++++++++++++++++ tools/perf/util/cs-etm.h | 18 + 14 files changed, 1720 insertions(+), 4 deletions(-) create mode 100644 tools/build/feature/test-libopencsd.c create mode 100644 tools/perf/util/cs-etm-decoder/Build create mode 100644 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c create mode 100644 tools/perf/util/cs-etm-decoder/cs-etm-decoder.h create mode 100644 tools/perf/util/cs-etm.c -- 2.7.4
WARNING: multiple messages have this Message-ID (diff)
From: mathieu.poirier@linaro.org (Mathieu Poirier) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH v2 00/10] perf tools: Add support for CoreSight trace decoding Date: Mon, 15 Jan 2018 11:13:04 -0700 [thread overview] Message-ID: <1516039994-314-1-git-send-email-mathieu.poirier@linaro.org> (raw) Hi Arnaldo, This patchset adds support for per-thread CoreSight trace decoding from the "perf report" interface. It is largely modelled on what has been done for intelPT traces and currently targets the ETMv4 architecture. Support for cpu-wide scenarios and ETMv3/PTMv1.1 will follow shortly. The trace decoding support is done using the Open CoreSight Decoding Library (openCSD), a stand alone open source project available here [1]. Integration of the openCSD library with the perf tools follow what has been done for other support libraries. If the library has been installed on a system the build scripts will include support for CoreSight trace decoding: ... zlib: [ on ] ... lzma: [ OFF ] ... get_cpuid: [ on ] ... bpf: [ on ] ... libopencsd: [ on ] <------ Instructions on how to build and install the openCSD library are provided in the HOWTO.md of the project repository. We elected to keep the decoder library independent of the kernel tree as it is also used outside of the perf toolset and various non-linux projects. The work applies cleanly to [2] and depend on the following patches [3, 4]. Lastly there is a divergence of opinions on whether the decoding library should be part of the kernel tree or live on its own as we chose to do - your point of view on the matter would be greatly appreciated. Regards, Mathieu [1]. https://github.com/Linaro/OpenCSD [2]. git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git perf/core [3]. https://marc.info/?l=linux-kernel&m=151561673423088&w=2 [4]. https://marc.info/?l=linux-kernel&m=151579875721440&w=2 Changes for V2: . Rebased to Acme's latest (321e85e9458a) . Following what has been done for libdw and libbabeltrace and added the possibililty to use alternate header/library for development purposes. Mathieu Poirier (8): perf tools: Integrating the CoreSight decoding library perf tools: Add initial entry point for decoder CoreSight traces perf tools: Add decoder mechanic to support dumping trace data perf tools: Add support for decoding CoreSight trace data perf tools: Add functionality to communicate with the openCSD decoder pert tools: Add queue management functionality perf tools: Add full support for CoreSight trace decoding perf tools: Add mechanic to synthesise CoreSight trace packets Tor Jeremiassen (2): perf tools: Add processing of coresight metadata MAINTAINERS: Adding entry for CoreSight trace decoding MAINTAINERS | 3 +- tools/build/Makefile.feature | 6 +- tools/build/feature/Makefile | 7 +- tools/build/feature/test-all.c | 5 + tools/build/feature/test-libopencsd.c | 8 + tools/perf/Makefile.config | 25 + tools/perf/Makefile.perf | 2 + tools/perf/util/Build | 6 + tools/perf/util/auxtrace.c | 2 + tools/perf/util/cs-etm-decoder/Build | 1 + tools/perf/util/cs-etm-decoder/cs-etm-decoder.c | 513 ++++++++++++ tools/perf/util/cs-etm-decoder/cs-etm-decoder.h | 105 +++ tools/perf/util/cs-etm.c | 1023 +++++++++++++++++++++++ tools/perf/util/cs-etm.h | 18 + 14 files changed, 1720 insertions(+), 4 deletions(-) create mode 100644 tools/build/feature/test-libopencsd.c create mode 100644 tools/perf/util/cs-etm-decoder/Build create mode 100644 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c create mode 100644 tools/perf/util/cs-etm-decoder/cs-etm-decoder.h create mode 100644 tools/perf/util/cs-etm.c -- 2.7.4
next reply other threads:[~2018-01-15 18:13 UTC|newest] Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-01-15 18:13 Mathieu Poirier [this message] 2018-01-15 18:13 ` [PATCH v2 00/10] perf tools: Add support for CoreSight trace decoding Mathieu Poirier 2018-01-15 18:13 ` [PATCH v2 01/10] perf tools: Integrating the CoreSight decoding library Mathieu Poirier 2018-01-15 18:13 ` Mathieu Poirier 2018-01-16 12:14 ` Jiri Olsa 2018-01-16 12:15 ` Jiri Olsa 2018-01-16 18:04 ` Mathieu Poirier 2018-01-16 20:30 ` Mathieu Poirier 2018-01-17 8:06 ` Jiri Olsa 2018-01-17 8:06 ` Jiri Olsa 2018-01-18 13:41 ` Arnaldo Carvalho de Melo 2018-01-18 13:41 ` Arnaldo Carvalho de Melo 2018-01-18 13:59 ` Jiri Olsa 2018-01-18 13:59 ` Jiri Olsa 2018-01-18 14:14 ` Arnaldo Carvalho de Melo 2018-01-18 14:14 ` Arnaldo Carvalho de Melo 2018-01-18 14:27 ` Jiri Olsa 2018-01-18 14:27 ` Jiri Olsa 2018-01-19 14:58 ` Arnaldo Carvalho de Melo 2018-01-19 14:58 ` Arnaldo Carvalho de Melo 2018-01-19 15:12 ` Jiri Olsa 2018-01-19 15:12 ` Jiri Olsa 2018-01-19 15:24 ` Mathieu Poirier 2018-01-19 15:24 ` Mathieu Poirier 2018-01-19 15:55 ` Arnaldo Carvalho de Melo 2018-01-19 15:55 ` Arnaldo Carvalho de Melo 2018-01-19 17:28 ` Mathieu Poirier 2018-01-19 17:28 ` Mathieu Poirier 2018-01-19 18:46 ` Jiri Olsa 2018-01-19 18:46 ` Jiri Olsa 2018-01-15 18:13 ` [PATCH v2 02/10] perf tools: Add initial entry point for decoder CoreSight traces Mathieu Poirier 2018-01-15 18:13 ` Mathieu Poirier 2018-01-15 18:13 ` [PATCH v2 03/10] perf tools: Add processing of coresight metadata Mathieu Poirier 2018-01-15 18:13 ` Mathieu Poirier 2018-01-15 18:13 ` [PATCH v2 04/10] perf tools: Add decoder mechanic to support dumping trace data Mathieu Poirier 2018-01-15 18:13 ` Mathieu Poirier 2018-01-15 18:13 ` [PATCH v2 05/10] perf tools: Add support for decoding CoreSight " Mathieu Poirier 2018-01-15 18:13 ` Mathieu Poirier 2018-01-15 18:13 ` [PATCH v2 06/10] perf tools: Add functionality to communicate with the openCSD decoder Mathieu Poirier 2018-01-15 18:13 ` Mathieu Poirier 2018-01-15 18:13 ` [PATCH v2 07/10] pert tools: Add queue management functionality Mathieu Poirier 2018-01-15 18:13 ` Mathieu Poirier 2018-01-15 18:13 ` [PATCH v2 08/10] perf tools: Add full support for CoreSight trace decoding Mathieu Poirier 2018-01-15 18:13 ` Mathieu Poirier 2018-01-15 18:13 ` [PATCH v2 09/10] perf tools: Add mechanic to synthesise CoreSight trace packets Mathieu Poirier 2018-01-15 18:13 ` Mathieu Poirier 2018-01-15 18:13 ` [PATCH v2 10/10] MAINTAINERS: Adding entry for CoreSight trace decoding Mathieu Poirier 2018-01-15 18:13 ` Mathieu Poirier 2018-01-16 12:17 ` [PATCH v2 00/10] perf tools: Add support " Jiri Olsa
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1516039994-314-1-git-send-email-mathieu.poirier@linaro.org \ --to=mathieu.poirier@linaro.org \ --cc=acme@kernel.org \ --cc=adrian.hunter@intel.com \ --cc=alexander.shishkin@linux.intel.com \ --cc=jolsa@redhat.com \ --cc=kim.phillips@arm.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=mike.leach@arm.com \ --cc=mingo@redhat.com \ --cc=namhyung@kernel.org \ --cc=peterz@infradead.org \ --cc=suzuki.poulosi@arm.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
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.