On 15/11/2020 23:17, Jiri Olsa wrote: > On Fri, Nov 13, 2020 at 07:26:43PM +0200, James Clark wrote: >> Use the existing allocator for perf_cpu_map to avoid use >> of raw malloc. This could cause an issue in later commits >> where the size of perf_cpu_map is changed. >> >> No functional changes. >> >> Signed-off-by: James Clark <james.cl...@arm.com> >> Cc: Peter Zijlstra <pet...@infradead.org> >> Cc: Ingo Molnar <mi...@redhat.com> >> Cc: Arnaldo Carvalho de Melo <a...@kernel.org> >> Cc: Mark Rutland <mark.rutl...@arm.com> >> Cc: Alexander Shishkin <alexander.shish...@linux.intel.com> >> Cc: Jiri Olsa <jo...@redhat.com> >> Cc: Namhyung Kim <namhy...@kernel.org> >> Cc: Thomas Richter <tmri...@linux.ibm.com> >> Cc: John Garry <john.ga...@huawei.com> >> --- >> tools/perf/util/cpumap.c | 7 ++++--- >> 1 file changed, 4 insertions(+), 3 deletions(-) >> >> diff --git a/tools/perf/util/cpumap.c b/tools/perf/util/cpumap.c >> index dc5c5e6fc502..fd7d0a77a9e6 100644 >> --- a/tools/perf/util/cpumap.c >> +++ b/tools/perf/util/cpumap.c >> @@ -132,15 +132,16 @@ int cpu_map__build_map(struct perf_cpu_map *cpus, >> struct perf_cpu_map **res, >> int (*f)(struct perf_cpu_map *map, int cpu, void *data), >> void *data) >> { >> - struct perf_cpu_map *c; >> int nr = cpus->nr; >> + struct perf_cpu_map *c = perf_cpu_map__empty_new(nr); >> int cpu, s1, s2; >> >> - /* allocate as much as possible */ >> - c = calloc(1, sizeof(*c) + nr * sizeof(int)); >> if (!c) >> return -1; >> >> + /* Reset size as it may only be partially filled */ >> + c->nr = 0; >> + >> for (cpu = 0; cpu < nr; cpu++) { >> s1 = f(cpus, cpu, data); >> for (s2 = 0; s2 < c->nr; s2++) { > > also remove refcount_set call down here, > it's already in set in perf_cpu_map__empty_new Oops yeah, good catch. Removed in V5 James > > thanks, > jirka > >> -- >> 2.28.0 >> >