Re: [PATCH V1 14/23] perf record: Use evlist__add_system_wide_dummy() in record__config_text_poke()
From: Ian Rogers
Date: Thu May 05 2022 - 19:57:42 EST
On Thu, May 5, 2022 at 9:57 AM Adrian Hunter <adrian.hunter@xxxxxxxxx> wrote:
>
> Use evlist__add_system_wide_dummy() 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.
>
> Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx>
Delta function names.
Acked-by: Ian Rogers <irogers@xxxxxxxxxx>
Thanks,
Ian
> ---
> 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 069825c48d40..83d2f2b5dcda 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_system_wide_dummy(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
>