41 lines · c
1/* SPDX-License-Identifier: GPL-2.0-or-later */2/* cpufreq-bench CPUFreq microbenchmark3 *4 * Copyright (C) 2008 Christian Kornacker <ckornacker@suse.de>5 */6 7/* struct that holds the required config parameters */8struct config9{10 long sleep; /* sleep time in µs */11 long load; /* load time in µs */12 long sleep_step; /* time value which changes the13 * sleep time after every round in µs */14 long load_step; /* time value which changes the15 * 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 */21 {22 SCHED_ERR = -1,23 SCHED_HIGH,24 SCHED_DEFAULT,25 SCHED_LOW26 } prio;27 28 unsigned int verbose; /* verbose output */29 FILE *output; /* logfile */30 char *output_filename; /* logfile name, must be freed at the end31 if output != NULL and output != stdout*/32};33 34enum sched_prio string_to_prio(const char *str);35 36FILE *prepare_output(const char *dir);37 38int prepare_config(const char *path, struct config *config);39struct config *prepare_default_config();40 41