linux/tools/power/cpupower/bench/parse.h
<<
>>
Prefs
   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 */
   8struct 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
  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