mirror of https://gitee.com/openkylin/linux.git
perf cpumap: Add new struct for cpu aggregation
This struct currently has only a single int member so that it can be used as a drop in replacement for the existing behaviour. Comparison and constructor functions have also been added that will replace usages of '==' and '= -1'. No functional changes. Signed-off-by: James Clark <james.clark@arm.com> Acked-by: Namhyung Kim <namhyung@kernel.org> Acked-by: Jiri Olsa <jolsa@redhat.com> Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com> Tested-by: John Garry <john.garry@huawei.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Richter <tmricht@linux.ibm.com> Link: https://lore.kernel.org/r/20201126141328.6509-4-james.clark@arm.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
91585846f1
commit
fa265e59b8
|
@ -586,3 +586,21 @@ const struct perf_cpu_map *cpu_map__online(void) /* thread unsafe */
|
||||||
|
|
||||||
return online;
|
return online;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool cpu_map__compare_aggr_cpu_id(struct aggr_cpu_id a, struct aggr_cpu_id b)
|
||||||
|
{
|
||||||
|
return a.id == b.id;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool cpu_map__aggr_cpu_id_is_empty(struct aggr_cpu_id a)
|
||||||
|
{
|
||||||
|
return a.id == -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
struct aggr_cpu_id cpu_map__empty_aggr_cpu_id(void)
|
||||||
|
{
|
||||||
|
struct aggr_cpu_id ret = {
|
||||||
|
.id = -1
|
||||||
|
};
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
|
@ -7,6 +7,10 @@
|
||||||
#include <internal/cpumap.h>
|
#include <internal/cpumap.h>
|
||||||
#include <perf/cpumap.h>
|
#include <perf/cpumap.h>
|
||||||
|
|
||||||
|
struct aggr_cpu_id {
|
||||||
|
int id;
|
||||||
|
};
|
||||||
|
|
||||||
struct perf_record_cpu_map_data;
|
struct perf_record_cpu_map_data;
|
||||||
|
|
||||||
struct perf_cpu_map *perf_cpu_map__empty_new(int nr);
|
struct perf_cpu_map *perf_cpu_map__empty_new(int nr);
|
||||||
|
@ -64,4 +68,8 @@ int cpu_map__build_map(struct perf_cpu_map *cpus, struct perf_cpu_map **res,
|
||||||
int cpu_map__cpu(struct perf_cpu_map *cpus, int idx);
|
int cpu_map__cpu(struct perf_cpu_map *cpus, int idx);
|
||||||
bool cpu_map__has(struct perf_cpu_map *cpus, int cpu);
|
bool cpu_map__has(struct perf_cpu_map *cpus, int cpu);
|
||||||
|
|
||||||
|
bool cpu_map__compare_aggr_cpu_id(struct aggr_cpu_id a, struct aggr_cpu_id b);
|
||||||
|
bool cpu_map__aggr_cpu_id_is_empty(struct aggr_cpu_id a);
|
||||||
|
struct aggr_cpu_id cpu_map__empty_aggr_cpu_id(void);
|
||||||
|
|
||||||
#endif /* __PERF_CPUMAP_H */
|
#endif /* __PERF_CPUMAP_H */
|
||||||
|
|
Loading…
Reference in New Issue