diff options
Diffstat (limited to 'tools/perf/builtin-bench.c')
-rw-r--r-- | tools/perf/builtin-bench.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/tools/perf/builtin-bench.c b/tools/perf/builtin-bench.c index cae9a5fd2ecf..77298bf892b8 100644 --- a/tools/perf/builtin-bench.c +++ b/tools/perf/builtin-bench.c | |||
@@ -35,6 +35,18 @@ struct bench_suite { | |||
35 | /* sentinel: easy for help */ | 35 | /* sentinel: easy for help */ |
36 | #define suite_all { "all", "Test all benchmark suites", NULL } | 36 | #define suite_all { "all", "Test all benchmark suites", NULL } |
37 | 37 | ||
38 | #ifdef LIBNUMA_SUPPORT | ||
39 | static struct bench_suite numa_suites[] = { | ||
40 | { "mem", | ||
41 | "Benchmark for NUMA workloads", | ||
42 | bench_numa }, | ||
43 | suite_all, | ||
44 | { NULL, | ||
45 | NULL, | ||
46 | NULL } | ||
47 | }; | ||
48 | #endif | ||
49 | |||
38 | static struct bench_suite sched_suites[] = { | 50 | static struct bench_suite sched_suites[] = { |
39 | { "messaging", | 51 | { "messaging", |
40 | "Benchmark for scheduler and IPC mechanisms", | 52 | "Benchmark for scheduler and IPC mechanisms", |
@@ -68,6 +80,11 @@ struct bench_subsys { | |||
68 | }; | 80 | }; |
69 | 81 | ||
70 | static struct bench_subsys subsystems[] = { | 82 | static struct bench_subsys subsystems[] = { |
83 | #ifdef LIBNUMA_SUPPORT | ||
84 | { "numa", | ||
85 | "NUMA scheduling and MM behavior", | ||
86 | numa_suites }, | ||
87 | #endif | ||
71 | { "sched", | 88 | { "sched", |
72 | "scheduler and IPC mechanism", | 89 | "scheduler and IPC mechanism", |
73 | sched_suites }, | 90 | sched_suites }, |
@@ -159,6 +176,7 @@ static void all_suite(struct bench_subsys *subsys) /* FROM HERE */ | |||
159 | printf("# Running %s/%s benchmark...\n", | 176 | printf("# Running %s/%s benchmark...\n", |
160 | subsys->name, | 177 | subsys->name, |
161 | suites[i].name); | 178 | suites[i].name); |
179 | fflush(stdout); | ||
162 | 180 | ||
163 | argv[1] = suites[i].name; | 181 | argv[1] = suites[i].name; |
164 | suites[i].fn(1, argv, NULL); | 182 | suites[i].fn(1, argv, NULL); |
@@ -225,6 +243,7 @@ int cmd_bench(int argc, const char **argv, const char *prefix __maybe_unused) | |||
225 | printf("# Running %s/%s benchmark...\n", | 243 | printf("# Running %s/%s benchmark...\n", |
226 | subsystems[i].name, | 244 | subsystems[i].name, |
227 | subsystems[i].suites[j].name); | 245 | subsystems[i].suites[j].name); |
246 | fflush(stdout); | ||
228 | status = subsystems[i].suites[j].fn(argc - 1, | 247 | status = subsystems[i].suites[j].fn(argc - 1, |
229 | argv + 1, prefix); | 248 | argv + 1, prefix); |
230 | goto end; | 249 | goto end; |