Commit | Line | Data |
---|---|---|
1a59d1b8 | 1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ |
7fe2f639 DB |
2 | /* cpufreq-bench CPUFreq microbenchmark |
3 | * | |
4 | * Copyright (C) 2008 Christian Kornacker <ckornacker@suse.de> | |
7fe2f639 DB |
5 | */ |
6 | ||
7 | /* struct that holds the required config parameters */ | |
8 | struct config | |
9 | { | |
02af3cb5 DB |
10 | long sleep; /* sleep time in µs */ |
11 | long load; /* load time in µs */ | |
7fe2f639 | 12 | long sleep_step; /* time value which changes the |
02af3cb5 | 13 | * sleep time after every round in µs */ |
7fe2f639 | 14 | long load_step; /* time value which changes the |
02af3cb5 | 15 | * load time after every round in µs */ |
7fe2f639 DB |
16 | unsigned int cycles; /* calculation cycles with the same sleep/load time */ |
17 | unsigned int rounds; /* calculation rounds with iterated sleep/load time */ | |
18 | unsigned int cpu; /* cpu for which the affinity is set */ | |
19 | char governor[15]; /* cpufreq governor */ | |
20 | enum sched_prio /* possible scheduler priorities */ | |
21 | { | |
02af3cb5 DB |
22 | SCHED_ERR = -1, |
23 | SCHED_HIGH, | |
24 | SCHED_DEFAULT, | |
25 | SCHED_LOW | |
7fe2f639 DB |
26 | } prio; |
27 | ||
28 | unsigned int verbose; /* verbose output */ | |
29 | FILE *output; /* logfile */ | |
30 | char *output_filename; /* logfile name, must be freed at the end | |
31 | if output != NULL and output != stdout*/ | |
32 | }; | |
33 | ||
34 | enum sched_prio string_to_prio(const char *str); | |
35 | ||
36 | FILE *prepare_output(const char *dir); | |
37 | ||
38 | int prepare_config(const char *path, struct config *config); | |
39 | struct config *prepare_default_config(); | |
40 |