From: Adrian Hunter <adrian.hunter@intel.com> To: Arnaldo Carvalho de Melo <acme@kernel.org> Cc: Jiri Olsa <jolsa@redhat.com>, Andi Kleen <ak@linux.intel.com>, Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, Mark Rutland <mark.rutland@arm.com>, Namhyung Kim <namhyung@kernel.org>, Leo Yan <leo.yan@linaro.org>, Kan Liang <kan.liang@linux.intel.com>, linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH RFC 00/11] perf script: Add API for filtering via dynamically loaded shared object Date: Mon, 21 Jun 2021 18:05:03 +0300 [thread overview] Message-ID: <20210621150514.32159-1-adrian.hunter@intel.com> (raw) Hi In some cases, users want to filter very large amounts of data (e.g. from AUX area tracing like Intel PT) looking for something specific. While scripting such as Python can be used, Python is 10 to 20 times slower than C. So define a C API so that custom filters can be written and loaded. There are 3 preparation patches. The main patch is patch 4. The other patches add more functionality, except for patch 6 which installs the C API header file. Adrian Hunter (11): perf script: Move filter_cpu() earlier perf script: Move filtering before scripting perf script: Share addr_al between functions perf script: Add API for filtering via dynamically loaded shared object perf script: Add dlfilter__filter_event_early() perf build: Install perf_dlfilter.h perf dlfilter: Add resolve_address() to perf_dlfilter_fns perf dlfilter: Add insn() to perf_dlfilter_fns perf dlfilter: Add srcline() to perf_dlfilter_fns perf dlfilter: Add attr() to perf_dlfilter_fns perf dlfilter: Add object_code() to perf_dlfilter_fns tools/perf/Documentation/perf-dlfilter.txt | 235 +++++++++++++++ tools/perf/Documentation/perf-script.txt | 7 +- tools/perf/Makefile.config | 3 + tools/perf/Makefile.perf | 4 +- tools/perf/builtin-script.c | 93 ++++-- tools/perf/util/Build | 1 + tools/perf/util/dlfilter.c | 469 +++++++++++++++++++++++++++++ tools/perf/util/dlfilter.h | 91 ++++++ tools/perf/util/perf_dlfilter.h | 139 +++++++++ 9 files changed, 1015 insertions(+), 27 deletions(-) create mode 100644 tools/perf/Documentation/perf-dlfilter.txt create mode 100644 tools/perf/util/dlfilter.c create mode 100644 tools/perf/util/dlfilter.h create mode 100644 tools/perf/util/perf_dlfilter.h Regards Adrian
next reply other threads:[~2021-06-21 15:05 UTC|newest] Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-06-21 15:05 Adrian Hunter [this message] 2021-06-21 15:05 ` [PATCH RFC 01/11] perf script: Move filter_cpu() earlier Adrian Hunter 2021-06-22 18:16 ` Arnaldo Carvalho de Melo 2021-06-21 15:05 ` [PATCH RFC 02/11] perf script: Move filtering before scripting Adrian Hunter 2021-06-22 18:18 ` Arnaldo Carvalho de Melo 2021-06-21 15:05 ` [PATCH RFC 03/11] perf script: Share addr_al between functions Adrian Hunter 2021-06-22 18:21 ` Arnaldo Carvalho de Melo 2021-06-21 15:05 ` [PATCH RFC 04/11] perf script: Add API for filtering via dynamically loaded shared object Adrian Hunter 2021-06-22 18:32 ` Arnaldo Carvalho de Melo 2021-06-23 9:25 ` Adrian Hunter 2021-06-21 15:05 ` [PATCH RFC 05/11] perf script: Add dlfilter__filter_event_early() Adrian Hunter 2021-06-21 15:05 ` [PATCH RFC 06/11] perf build: Install perf_dlfilter.h Adrian Hunter 2021-06-21 15:05 ` [PATCH RFC 07/11] perf dlfilter: Add resolve_address() to perf_dlfilter_fns Adrian Hunter 2021-06-21 15:05 ` [PATCH RFC 08/11] perf dlfilter: Add insn() " Adrian Hunter 2021-06-21 15:05 ` [PATCH RFC 09/11] perf dlfilter: Add srcline() " Adrian Hunter 2021-06-21 15:05 ` [PATCH RFC 10/11] perf dlfilter: Add attr() " Adrian Hunter 2021-06-21 15:05 ` [PATCH RFC 11/11] perf dlfilter: Add object_code() " Adrian Hunter
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=20210621150514.32159-1-adrian.hunter@intel.com \ --to=adrian.hunter@intel.com \ --cc=acme@kernel.org \ --cc=ak@linux.intel.com \ --cc=jolsa@redhat.com \ --cc=kan.liang@linux.intel.com \ --cc=leo.yan@linaro.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-perf-users@vger.kernel.org \ --cc=mark.rutland@arm.com \ --cc=mingo@redhat.com \ --cc=namhyung@kernel.org \ --cc=peterz@infradead.org \ --subject='Re: [PATCH RFC 00/11] perf script: Add API for filtering via dynamically loaded shared object' \ /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: link
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).