Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/tools/power/cpupower/bench/parse.h
26292 views
1
/* SPDX-License-Identifier: GPL-2.0-or-later */
2
/* cpufreq-bench CPUFreq microbenchmark
3
*
4
* Copyright (C) 2008 Christian Kornacker <[email protected]>
5
*/
6
7
/* struct that holds the required config parameters */
8
struct config
9
{
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 */
21
{
22
SCHED_ERR = -1,
23
SCHED_HIGH,
24
SCHED_DEFAULT,
25
SCHED_LOW
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
41
42