mirror of
https://github.com/torvalds/linux.git
synced 2026-05-29 17:43:52 +02:00
perf cpumap: Add "any" CPU handling to cpu_map__snprint_mask
If the perf_cpu_map is empty or is just the any CPU value, then early return. Don't process the "any" CPU when creating the bitmap. Tested-by: Ingo Molnar <mingo@kernel.org> Signed-off-by: Ian Rogers <irogers@google.com> Tested-by: Thomas Richter <tmricht@linux.ibm.com> Signed-off-by: Namhyung Kim <namhyung@kernel.org>
This commit is contained in:
parent
a0a4173631
commit
e2de90bdc9
|
|
@ -684,16 +684,21 @@ size_t cpu_map__snprint_mask(struct perf_cpu_map *map, char *buf, size_t size)
|
|||
unsigned char *bitmap;
|
||||
struct perf_cpu c, last_cpu = perf_cpu_map__max(map);
|
||||
|
||||
if (buf == NULL)
|
||||
if (buf == NULL || size == 0)
|
||||
return 0;
|
||||
|
||||
if (last_cpu.cpu < 0) {
|
||||
buf[0] = '\0';
|
||||
return 0;
|
||||
}
|
||||
|
||||
bitmap = zalloc(last_cpu.cpu / 8 + 1);
|
||||
if (bitmap == NULL) {
|
||||
buf[0] = '\0';
|
||||
return 0;
|
||||
}
|
||||
|
||||
perf_cpu_map__for_each_cpu(c, idx, map)
|
||||
perf_cpu_map__for_each_cpu_skip_any(c, idx, map)
|
||||
bitmap[c.cpu / 8] |= 1 << (c.cpu % 8);
|
||||
|
||||
for (int cpu = last_cpu.cpu / 4 * 4; cpu >= 0; cpu -= 4) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user