summaryrefslogtreecommitdiff
path: root/tools/lib
diff options
context:
space:
mode:
authorArnaldo Carvalho de Melo <acme@redhat.com>2023-04-12 14:53:35 -0300
committerArnaldo Carvalho de Melo <acme@redhat.com>2023-04-12 14:53:35 -0300
commitb277851417e0149aff5e6986e1ad6e2d8054e4a6 (patch)
treef8a1fce2c0d700da2dc7f2cf551adb51584654ae /tools/lib
parent1f94479edb4decdcec3e902528abb47f0ccd5d16 (diff)
downloadlinux-b277851417e0149aff5e6986e1ad6e2d8054e4a6.tar.gz
libperf: Add a perf_cpu_map__set_nr() available as an internal function for tools/perf to use
We'll need to reference count check 'struct perf_cpu_map', so wrap accesses to its internal state to allow intercepting accesses to its instances. Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Alexey Bayduraev <alexey.v.bayduraev@linux.intel.com> Cc: Dmitriy Vyukov <dvyukov@google.com> Cc: Ian Rogers <irogers@google.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Riccardo Mancini <rickyman7@gmail.com> Cc: Stephane Eranian <eranian@google.com> Cc: Stephen Brennan <stephen.s.brennan@oracle.com> Link: https://lore.kernel.org/ Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/lib')
-rw-r--r--tools/lib/perf/cpumap.c5
-rw-r--r--tools/lib/perf/include/internal/cpumap.h2
2 files changed, 7 insertions, 0 deletions
diff --git a/tools/lib/perf/cpumap.c b/tools/lib/perf/cpumap.c
index 0833423c243b..6bbcbb83eb14 100644
--- a/tools/lib/perf/cpumap.c
+++ b/tools/lib/perf/cpumap.c
@@ -10,6 +10,11 @@
#include <ctype.h>
#include <limits.h>
+void perf_cpu_map__set_nr(struct perf_cpu_map *map, int nr_cpus)
+{
+ map->nr = nr_cpus;
+}
+
struct perf_cpu_map *perf_cpu_map__alloc(int nr_cpus)
{
struct perf_cpu_map *cpus = malloc(sizeof(*cpus) + sizeof(struct perf_cpu) * nr_cpus);
diff --git a/tools/lib/perf/include/internal/cpumap.h b/tools/lib/perf/include/internal/cpumap.h
index f5bffb1f8674..b82fd6607a00 100644
--- a/tools/lib/perf/include/internal/cpumap.h
+++ b/tools/lib/perf/include/internal/cpumap.h
@@ -28,4 +28,6 @@ struct perf_cpu_map *perf_cpu_map__alloc(int nr_cpus);
int perf_cpu_map__idx(const struct perf_cpu_map *cpus, struct perf_cpu cpu);
bool perf_cpu_map__is_subset(const struct perf_cpu_map *a, const struct perf_cpu_map *b);
+void perf_cpu_map__set_nr(struct perf_cpu_map *map, int nr_cpus);
+
#endif /* __LIBPERF_INTERNAL_CPUMAP_H */