Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/tools/lib/perf/tests/test-cpumap.c
26288 views
1
// SPDX-License-Identifier: GPL-2.0
2
#include <stdarg.h>
3
#include <stdio.h>
4
#include <perf/cpumap.h>
5
#include <internal/tests.h>
6
#include "tests.h"
7
8
static int libperf_print(enum libperf_print_level level,
9
const char *fmt, va_list ap)
10
{
11
return vfprintf(stderr, fmt, ap);
12
}
13
14
int test_cpumap(int argc, char **argv)
15
{
16
struct perf_cpu_map *cpus;
17
struct perf_cpu cpu;
18
int idx;
19
20
__T_START;
21
22
libperf_init(libperf_print);
23
24
cpus = perf_cpu_map__new_any_cpu();
25
if (!cpus)
26
return -1;
27
28
perf_cpu_map__get(cpus);
29
perf_cpu_map__put(cpus);
30
perf_cpu_map__put(cpus);
31
32
cpus = perf_cpu_map__new_online_cpus();
33
if (!cpus)
34
return -1;
35
36
perf_cpu_map__for_each_cpu(cpu, idx, cpus)
37
__T("wrong cpu number", cpu.cpu != -1);
38
39
perf_cpu_map__put(cpus);
40
41
__T_END;
42
return tests_failed == 0 ? 0 : -1;
43
}
44
45