Merge branch 'work.set_fs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
[linux-2.6-microblaze.git] / tools / power / cpupower / bench / parse.h
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /*  cpufreq-bench CPUFreq microbenchmark
3  *
4  *  Copyright (C) 2008 Christian Kornacker <ckornacker@suse.de>
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