Re: [PATCH 21/22] perf cpumap: Trim the cpu_aggr_map
From: Jiri Olsa <hidden>
Date: 2021-12-11 19:24:56
Also in:
linux-perf-users, lkml
From: Jiri Olsa <hidden>
Date: 2021-12-11 19:24:56
Also in:
linux-perf-users, lkml
On Tue, Dec 07, 2021 at 06:46:06PM -0800, Ian Rogers wrote:
cpu_aggr_map__new removes duplicates, when this happens shrink the array. Signed-off-by: Ian Rogers <irogers@google.com> --- tools/perf/util/cpumap.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)diff --git a/tools/perf/util/cpumap.c b/tools/perf/util/cpumap.c index 8a72ee996722..985c87f1f1ca 100644 --- a/tools/perf/util/cpumap.c +++ b/tools/perf/util/cpumap.c@@ -185,7 +185,12 @@ struct cpu_aggr_map *cpu_aggr_map__new(const struct perf_cpu_map *cpus, c->nr++; } } - + /* Trim. */ + if (c->nr != cpus->nr) { + c = realloc(c, sizeof(struct cpu_aggr_map) + sizeof(struct aggr_cpu_id) * c->nr); + if (!c) + return NULL; + }
curious.. we should do this, but did you detect some big waste in here? thanks, jirka
/* ensure we process id in increasing order */ qsort(c->map, c->nr, sizeof(struct aggr_cpu_id), aggr_cpu_id__cmp); -- 2.34.1.400.ga245620fadb-goog
_______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel