Messages in this thread | | | From | Namhyung Kim <> | Date | Tue, 3 May 2022 13:29:20 -0700 | Subject | Re: [PATCH RFC 18/21] libperf evlist: Allow mixing per-thread and per-cpu mmaps |
| |
On Fri, Apr 22, 2022 at 9:25 AM Adrian Hunter <adrian.hunter@intel.com> wrote: > > mmap_per_evsel() will skip events that do not match the CPU, so all CPUs > can be iterated in any case. > > Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> > --- [...] > @@ -561,9 +538,12 @@ static int perf_evlist__nr_mmaps(struct perf_evlist *evlist) > { > int nr_mmaps; > > + /* One for each CPU */ > nr_mmaps = perf_cpu_map__nr(evlist->all_cpus); > - if (perf_cpu_map__empty(evlist->all_cpus)) > - nr_mmaps = perf_thread_map__nr(evlist->threads); > + /* One for each thread */ > + nr_mmaps += perf_thread_map__nr(evlist->threads); > + /* Minus the dummy CPU or dummy thread */ > + nr_mmaps -= 1;
I'm not sure it'd work for per-task events with default-per-cpu mode.
Thanks, Namhyung
> > return nr_mmaps; > }
| |