Messages in this thread | | | Date | Tue, 20 Aug 2019 11:18:52 +0200 | From | Jiri Olsa <> | Subject | Re: [PATCH v3 4/6] perf/util/session: Replace MAX_NR_CPUS with nr_cpus_online |
| |
On Mon, Aug 19, 2019 at 03:23:33PM -0500, Kyle Meyer wrote: > nr_cpus_online, the number of CPUs online during a record session, can be > used as a dynamic alternative for MAX_NR_CPUS in perf_session__cpu_bitmap. > > Cc: Peter Zijlstra <peterz@infradead.org> > Cc: Ingo Molnar <mingo@redhat.com> > Cc: Arnaldo Carvalho de Melo <acme@kernel.org> > Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> > Cc: Jiri Olsa <jolsa@redhat.com> > Cc: Namhyung Kim <namhyung@kernel.org> > Cc: linux-kernel@vger.kernel.org > Cc: Russ Anderson <russ.anderson@hpe.com> > Signed-off-by: Kyle Meyer <kyle.meyer@hpe.com> > --- > tools/perf/util/session.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > Index: tip/tools/perf/util/session.c > =================================================================== > --- tip.orig/tools/perf/util/session.c > +++ tip/tools/perf/util/session.c > @@ -2284,6 +2284,7 @@ int perf_session__cpu_bitmap(struct perf > { > int i, err = -1; > struct perf_cpu_map *map; > + int nr_cpus_online = session->header.env.nr_cpus_online;
so all those bitmaps that use this function are initialized with MAX_NR_CPUS length, are we sure that session->header.env.nr_cpus_online is always smaller than MAX_NR_CPUS?
jirka
> > for (i = 0; i < PERF_TYPE_MAX; ++i) { > struct evsel *evsel; > @@ -2308,9 +2309,8 @@ int perf_session__cpu_bitmap(struct perf > for (i = 0; i < map->nr; i++) { > int cpu = map->map[i]; > > - if (cpu >= MAX_NR_CPUS) { > - pr_err("Requested CPU %d too large. " > - "Consider raising MAX_NR_CPUS\n", cpu); > + if (cpu >= nr_cpus_online) { > + pr_err("Requested CPU %d too large\n", cpu); > goto out_delete_map; > } >
| |