1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /* cpufreq-bench CPUFreq microbenchmark
4 * Copyright (C) 2008 Christian Kornacker <ckornacker@suse.de>
7 /* struct that holds the required config parameters */
10 long sleep
; /* sleep time in µs */
11 long load
; /* load time in µs */
12 long sleep_step
; /* time value which changes the
13 * sleep time after every round in µs */
14 long load_step
; /* time value which changes the
15 * load time after every round in µs */
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 */
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*/
34 enum sched_prio
string_to_prio(const char *str
);
36 FILE *prepare_output(const char *dir
);
38 int prepare_config(const char *path
, struct config
*config
);
39 struct config
*prepare_default_config();