Commit 49506a4e authored by Adrian Hunter's avatar Adrian Hunter Committed by Junhao He
Browse files

libperf evlist: Add evsel as a parameter to ->idx()

mainline inclusion
from mainline-v5.19-rc1
commit 8f111be6
category: feature
bugzilla: https://gitee.com/openeuler/kernel/issues/I7HI80
CVE: NA

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=8f111be6434de90c9743ea522c32b384d203a8de



--------------------------------

Remove ->idx() per_cpu parameter because it isn't needed.
Add evsel as a parameter to ->idx() in preparation for correctly
determining whether an auxtrace mmap is needed.

Signed-off-by: default avatarAdrian Hunter <adrian.hunter@intel.com>
Acked-by: default avatarIan Rogers <irogers@google.com>
Cc: Alexey Bayduraev <alexey.v.bayduraev@linux.intel.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Leo Yan <leo.yan@linaro.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Link: http://lore.kernel.org/lkml/20220506122601.367589-9-adrian.hunter@intel.com


Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: default avatarJunhao He <hejunhao3@huawei.com>
parent b3e9e86b
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -469,7 +469,7 @@ mmap_per_evsel(struct perf_evlist *evlist, struct perf_evlist_mmap_ops *ops,
			refcount_set(&map->refcnt, 2);

			if (ops->idx)
				ops->idx(evlist, mp, idx);
				ops->idx(evlist, evsel, mp, idx);

			if (ops->mmap(map, mp, *output, evlist_cpu) < 0)
				return -1;
+2 −1
Original line number Diff line number Diff line
@@ -31,7 +31,8 @@ struct perf_evlist {
};

typedef void
(*perf_evlist_mmap__cb_idx_t)(struct perf_evlist*, struct perf_mmap_param*, int);
(*perf_evlist_mmap__cb_idx_t)(struct perf_evlist*, struct perf_evsel*,
			      struct perf_mmap_param*, int);
typedef struct perf_mmap*
(*perf_evlist_mmap__cb_get_t)(struct perf_evlist*, bool, int);
typedef int
+1 −0
Original line number Diff line number Diff line
@@ -721,6 +721,7 @@ static struct mmap *evlist__alloc_mmap(struct evlist *evlist,

static void
perf_evlist__mmap_cb_idx(struct perf_evlist *_evlist,
			 struct perf_evsel *_evsel __maybe_unused,
			 struct perf_mmap_param *_mp,
			 int idx)
{