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 10/11] perf dlfilter: Add attr() to perf_dlfilter_fns Date: Mon, 21 Jun 2021 18:05:13 +0300 [thread overview] Message-ID: <20210621150514.32159-11-adrian.hunter@intel.com> (raw) In-Reply-To: <20210621150514.32159-1-adrian.hunter@intel.com> Add a function, for use by dlfilters, to return the perf_event_attr structure. Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> --- tools/perf/Documentation/perf-dlfilter.txt | 5 ++++- tools/perf/util/dlfilter.c | 11 +++++++++++ tools/perf/util/perf_dlfilter.h | 4 +++- 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/tools/perf/Documentation/perf-dlfilter.txt b/tools/perf/Documentation/perf-dlfilter.txt index b6f958983584..d37913343449 100644 --- a/tools/perf/Documentation/perf-dlfilter.txt +++ b/tools/perf/Documentation/perf-dlfilter.txt @@ -112,7 +112,8 @@ struct perf_dlfilter_fns { __s32 (*resolve_address)(void *ctx, __u64 address, struct perf_dlfilter_al *al); const __u8 *(*insn)(void *ctx, __u32 *length); const char *(*srcline)(void *ctx, __u32 *line_number); - void *(*reserved[123])(void *); + struct perf_event_attr *(*attr)(void *ctx); + void *(*reserved[122])(void *); }; ---- @@ -127,6 +128,8 @@ before calling. Returns 0 on success, -1 otherwise. 'srcline' return source file name and line number. +'attr' returns perf_event_attr, refer <linux/perf_event.h>. + The perf_dlfilter_al structure ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/tools/perf/util/dlfilter.c b/tools/perf/util/dlfilter.c index d71b0c97d1eb..2e89f322ff60 100644 --- a/tools/perf/util/dlfilter.c +++ b/tools/perf/util/dlfilter.c @@ -217,12 +217,23 @@ static const char *dlfilter__srcline(void *ctx, __u32 *line_no) return srcfile; } +static struct perf_event_attr *dlfilter__attr(void *ctx) +{ + struct dlfilter *d = (struct dlfilter *)ctx; + + if (!d->ctx_valid) + return NULL; + + return &d->evsel->core.attr; +} + static const struct perf_dlfilter_fns perf_dlfilter_fns = { .resolve_ip = dlfilter__resolve_ip, .resolve_addr = dlfilter__resolve_addr, .resolve_address = dlfilter__resolve_address, .insn = dlfilter__insn, .srcline = dlfilter__srcline, + .attr = dlfilter__attr, }; #define CHECK_FLAG(x) BUILD_BUG_ON((u64)PERF_DLFILTER_FLAG_ ## x != (u64)PERF_IP_FLAG_ ## x) diff --git a/tools/perf/util/perf_dlfilter.h b/tools/perf/util/perf_dlfilter.h index a91e314ba24a..e2cdf416b22e 100644 --- a/tools/perf/util/perf_dlfilter.h +++ b/tools/perf/util/perf_dlfilter.h @@ -99,8 +99,10 @@ struct perf_dlfilter_fns { const __u8 *(*insn)(void *ctx, __u32 *length); /* Return source file name and line number */ const char *(*srcline)(void *ctx, __u32 *line_number); + /* Return perf_event_attr, refer <linux/perf_event.h> */ + struct perf_event_attr *(*attr)(void *ctx); /* Reserved */ - void *(*reserved[123])(void *); + void *(*reserved[122])(void *); }; /* -- 2.17.1
next prev parent 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 [PATCH RFC 00/11] perf script: Add API for filtering via dynamically loaded shared object Adrian Hunter 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 ` Adrian Hunter [this message] 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-11-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 10/11] perf dlfilter: Add attr() to perf_dlfilter_fns' \ /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).