ContainerTracer  0.1
runner.h
Go to the documentation of this file.
1 
25 #ifndef _RUNNER_H
26 #define _RUNNER_H
27 
28 #include <linux/limits.h>
29 #include <sys/user.h>
30 
31 #include <json.h>
32 
33 #include <generic.h>
34 
35 #define INTERVAL_RESULT_STRING_SIZE (PAGE_SIZE)
36 #define TOTAL_RESULT_STRING_SIZE (PAGE_SIZE * PAGE_SIZE)
38 #define BFQ_MIN_WEIGHT 1
39 #define BFQ_MAX_WEIGHT 1000
40 
42  0xFFFF,
44  0x0001,
45 };
46 
47 enum { RUNNER_FREE_ALL = 0xFFFF,
48 };
49 
53 struct runner_config {
54  char driver[PATH_MAX];
56  op;
57  struct json_object *
58  setting;
59 };
60 
61 int runner_init(const char *json_str);
62 int runner_run(void);
63 char *runner_get_interval_result(const char *key);
64 char *runner_get_total_result(const char *key);
65 void runner_put_result_string(char *buffer);
66 void runner_free(void);
67 void runner_config_free(struct runner_config *config, const int flags);
68 const struct runner_config *runner_get_global_config(void);
69 
77 static inline int runner_is_valid_bfq_weight(unsigned int weight)
78 {
79  return (weight <= BFQ_MAX_WEIGHT && weight >= BFQ_MIN_WEIGHT);
80 }
81 
82 #endif
Definition: trace_replay.h:183
static const char * key[]
Definition: docker-driver-test.c:55
int runner_run(void)
Execute the benchmark program.
Definition: runner.c:155
int runner_init(const char *json_str)
Read the JSON string and config the runner.
Definition: runner.c:88
static const int weight[]
Definition: docker-driver-test.c:57
char driver[PATH_MAX]
Definition: runner.h:54
#define BFQ_MIN_WEIGHT
Definition: runner.h:38
const struct runner_config * runner_get_global_config(void)
Get a global configuration pointer.
Definition: runner.c:276
static int runner_is_valid_bfq_weight(unsigned int weight)
Check the validation of BFQ scheduler&#39;s weight.
Definition: runner.h:77
void runner_free(void)
Wrapping function of __runner_free().
Definition: runner.c:163
char * runner_get_total_result(const char *key)
Get a specific driver&#39;s end-time results.
Definition: runner.c:246
This structure contains the driver&#39;s command set.
Definition: generic.h:46
Definition: runner.h:43
struct generic_driver_op op
Definition: runner.h:55
Definition: runner.h:47
char * runner_get_interval_result(const char *key)
Get a specific driver&#39;s execution-time results.
Definition: runner.c:211
void runner_config_free(struct runner_config *config, const int flags)
Deallocate the global_runner&#39;s contents.
Definition: runner.c:49
This structure has user-inputted information.
Definition: runner.h:53
Definition: runner.h:41
void runner_put_result_string(char *buffer)
Deallocate the buffer which is allocated by runner_get_result_string() function.
Definition: runner.c:193
struct json_object * setting
Definition: runner.h:57
This header maintain the driver&#39;s mapping information. It&#39;s definition in runner/generic.c.