perf evsel: Add evsel__intval_common() helper
Add evsel__intval_common() helper to search for common_field in tracepoint format. Reviewed-by: Ian Rogers <irogers@google.com> Signed-off-by: Yang Jihong <yangjihong1@huawei.com> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Kan Liang <kan.liang@linux.intel.com> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Ravi Bangoria <ravi.bangoria@amd.com> Cc: Sandipan Das <sandipan.das@amd.com> Link: https://lore.kernel.org/r/20230812084917.169338-11-yangjihong1@huawei.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
55c40e5052
commit
a8792242e4
@ -2766,6 +2766,11 @@ struct tep_format_field *evsel__field(struct evsel *evsel, const char *name)
|
||||
return tep_find_field(evsel->tp_format, name);
|
||||
}
|
||||
|
||||
struct tep_format_field *evsel__common_field(struct evsel *evsel, const char *name)
|
||||
{
|
||||
return tep_find_common_field(evsel->tp_format, name);
|
||||
}
|
||||
|
||||
void *evsel__rawptr(struct evsel *evsel, struct perf_sample *sample, const char *name)
|
||||
{
|
||||
struct tep_format_field *field = evsel__field(evsel, name);
|
||||
@ -2831,6 +2836,14 @@ u64 evsel__intval(struct evsel *evsel, struct perf_sample *sample, const char *n
|
||||
|
||||
return field ? format_field__intval(field, sample, evsel->needs_swap) : 0;
|
||||
}
|
||||
|
||||
u64 evsel__intval_common(struct evsel *evsel, struct perf_sample *sample, const char *name)
|
||||
{
|
||||
struct tep_format_field *field = evsel__common_field(evsel, name);
|
||||
|
||||
return field ? format_field__intval(field, sample, evsel->needs_swap) : 0;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
bool evsel__fallback(struct evsel *evsel, int err, char *msg, size_t msgsize)
|
||||
|
@ -340,6 +340,7 @@ struct perf_sample;
|
||||
#ifdef HAVE_LIBTRACEEVENT
|
||||
void *evsel__rawptr(struct evsel *evsel, struct perf_sample *sample, const char *name);
|
||||
u64 evsel__intval(struct evsel *evsel, struct perf_sample *sample, const char *name);
|
||||
u64 evsel__intval_common(struct evsel *evsel, struct perf_sample *sample, const char *name);
|
||||
|
||||
static inline char *evsel__strval(struct evsel *evsel, struct perf_sample *sample, const char *name)
|
||||
{
|
||||
@ -352,6 +353,7 @@ struct tep_format_field;
|
||||
u64 format_field__intval(struct tep_format_field *field, struct perf_sample *sample, bool needs_swap);
|
||||
|
||||
struct tep_format_field *evsel__field(struct evsel *evsel, const char *name);
|
||||
struct tep_format_field *evsel__common_field(struct evsel *evsel, const char *name);
|
||||
|
||||
static inline bool __evsel__match(const struct evsel *evsel, u32 type, u64 config)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user