From: Adrian Hunter <adrian.hunter@intel.com>
To: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Jiri Olsa <jolsa@redhat.com>, Ian Rogers <irogers@google.com>,
Alexey Bayduraev <alexey.v.bayduraev@linux.intel.com>,
Namhyung Kim <namhyung@kernel.org>, Leo Yan <leo.yan@linaro.org>,
linux-kernel@vger.kernel.org
Subject: [PATCH V4 06/15] perf record: Use evlist__add_dummy_on_all_cpus() in record__config_text_poke()
Date: Tue, 24 May 2022 10:54:27 +0300 [thread overview]
Message-ID: <20220524075436.29144-7-adrian.hunter@intel.com> (raw)
In-Reply-To: <20220524075436.29144-1-adrian.hunter@intel.com>
Use evlist__add_dummy_on_all_cpus() in record__config_text_poke() in
preparation for allowing system-wide events on all CPUs while the user
requested events are on only user requested CPUs.
Acked-by: Ian Rogers <irogers@google.com>
Acked-by: Namhyung Kim <namhyung@kernel.org>
Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
---
tools/perf/builtin-record.c | 21 +++------------------
1 file changed, 3 insertions(+), 18 deletions(-)
diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c
index a5cf6a99d67f..c8a79f3a8dff 100644
--- a/tools/perf/builtin-record.c
+++ b/tools/perf/builtin-record.c
@@ -869,7 +869,6 @@ static int record__auxtrace_init(struct record *rec __maybe_unused)
static int record__config_text_poke(struct evlist *evlist)
{
struct evsel *evsel;
- int err;
/* Nothing to do if text poke is already configured */
evlist__for_each_entry(evlist, evsel) {
@@ -877,27 +876,13 @@ static int record__config_text_poke(struct evlist *evlist)
return 0;
}
- err = parse_events(evlist, "dummy:u", NULL);
- if (err)
- return err;
-
- evsel = evlist__last(evlist);
+ evsel = evlist__add_dummy_on_all_cpus(evlist);
+ if (!evsel)
+ return -ENOMEM;
- evsel->core.attr.freq = 0;
- evsel->core.attr.sample_period = 1;
evsel->core.attr.text_poke = 1;
evsel->core.attr.ksymbol = 1;
-
- evsel->core.system_wide = true;
- evsel->no_aux_samples = true;
evsel->immediate = true;
-
- /* Text poke must be collected on all CPUs */
- perf_cpu_map__put(evsel->core.own_cpus);
- evsel->core.own_cpus = perf_cpu_map__new(NULL);
- perf_cpu_map__put(evsel->core.cpus);
- evsel->core.cpus = perf_cpu_map__get(evsel->core.own_cpus);
-
evsel__set_sample_bit(evsel, TIME);
return 0;
--
2.25.1
next prev parent reply other threads:[~2022-05-24 7:55 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-05-24 7:54 [PATCH V4 00/15] perf intel-pt: Better support for perf record --cpu Adrian Hunter
2022-05-24 7:54 ` [PATCH V4 01/15] perf intel-pt: Add a test for system-wide side band Adrian Hunter
2022-05-24 7:54 ` [PATCH V4 02/15] perf auxtrace: Add mmap_needed to auxtrace_mmap_params Adrian Hunter
2022-05-24 7:54 ` [PATCH V4 03/15] perf auxtrace: Remove auxtrace_mmap_params__set_idx() per_cpu parameter Adrian Hunter
2022-05-24 7:54 ` [PATCH V4 04/15] perf evlist: Factor out evlist__dummy_event() Adrian Hunter
2022-05-24 7:54 ` [PATCH V4 05/15] perf evlist: Add evlist__add_dummy_on_all_cpus() Adrian Hunter
2022-05-24 7:54 ` Adrian Hunter [this message]
2022-05-24 7:54 ` [PATCH V4 07/15] perf intel-pt: Use evlist__add_dummy_on_all_cpus() for switch tracking Adrian Hunter
2022-05-24 7:54 ` [PATCH V4 08/15] perf intel-pt: Track sideband system-wide when needed Adrian Hunter
2022-05-24 7:54 ` [PATCH V4 09/15] perf tools: Allow all_cpus to be a superset of user_requested_cpus Adrian Hunter
2022-05-24 7:54 ` [PATCH V4 10/15] libperf evlist: Allow mixing per-thread and per-cpu mmaps Adrian Hunter
2022-05-24 7:54 ` [PATCH V4 11/15] libperf evlist: Check nr_mmaps is correct Adrian Hunter
2022-05-24 7:54 ` [PATCH V4 12/15] perf stat: Add requires_cpu flag for uncore Adrian Hunter
2022-05-24 7:54 ` [PATCH V4 13/15] libperf evsel: Add comments for booleans Adrian Hunter
2022-05-24 7:54 ` [PATCH V4 14/15] perf tools: Allow system-wide events to keep their own CPUs Adrian Hunter
2022-05-24 7:54 ` [PATCH V4 15/15] perf tools: Allow system-wide events to keep their own threads Adrian Hunter
2022-05-25 5:01 ` [PATCH V4 00/15] perf intel-pt: Better support for perf record --cpu Ian Rogers
2022-05-25 11:00 ` Arnaldo Carvalho de Melo
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=20220524075436.29144-7-adrian.hunter@intel.com \
--to=adrian.hunter@intel.com \
--cc=acme@kernel.org \
--cc=alexey.v.bayduraev@linux.intel.com \
--cc=irogers@google.com \
--cc=jolsa@redhat.com \
--cc=leo.yan@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=namhyung@kernel.org \
/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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox