-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathconfig.h
114 lines (91 loc) · 2.22 KB
/
config.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
/*
* Configuration Parser
*/
#ifndef ETHANE_CONFIG_H
#define ETHANE_CONFIG_H
#include <unistd.h>
#include <stdlib.h>
/*
* Global (per-file-system) Configuration
*/
struct ethane_fs_dmm_config {
size_t pmem_initial_alloc_size_mb;
};
struct ethane_fs_sharedfs_config {
size_t namespace_kv_size_mb;
size_t block_mapping_kv_size_mb;
int *interval_node_nr_blks;
int interval_node_nr_blks_count;
int kv_nr_shards;
};
struct ethane_fs_logger_config {
int arena_nr_logs;
int max_nr_logs;
};
struct ethane_fs_config {
struct ethane_fs_dmm_config dmm;
struct ethane_fs_sharedfs_config sharedfs;
struct ethane_fs_logger_config logger;
};
/*
* Memory Daemon (memd) Configuration
*/
struct ethane_memd_config {
const char *pmem_pool_file;
size_t pmem_pool_size_mb;
size_t cmem_pool_size_kb;
};
/*
* Client Configuration
*/
struct ethane_cli_net_config {
size_t local_buf_size_mb;
};
struct ethane_cli_dmm_config {
size_t pmem_initial_alloc_size_mb;
};
struct ethane_cli_cachefs_config {
size_t namespace_cache_size_max_mb;
size_t namespace_cache_size_high_watermark_mb;
size_t block_mapping_cache_size_max_mb;
size_t block_mapping_cache_size_high_watermark_mb;
};
struct ethane_cli_sharedfs_config {
int nr_max_outstanding_updates;
};
struct ethane_cli_logger_config {
const char *global_shm_path;
size_t local_log_region_size_mb;
int log_read_batch_size;
};
struct ethane_cli_lock_config {
int nr_locks_order;
};
/*
* Tracing Configuration
*/
struct ethane_cli_trace_config {
int log_append_trace_interval;
int log_replay_trace_interval;
int op_latency_trace_interval;
int throughput_trace_interval;
};
struct ethane_cli_config {
struct ethane_cli_net_config net;
struct ethane_cli_dmm_config dmm;
struct ethane_cli_cachefs_config cachefs;
struct ethane_cli_sharedfs_config sharedfs;
struct ethane_cli_logger_config logger;
struct ethane_cli_lock_config lock;
struct ethane_cli_trace_config trace;
};
/*
* Log Daemon Configuration
*/
struct ethane_logd_checkpoint_config {
int nr_shards;
};
struct ethane_logd_config {
struct ethane_logd_checkpoint_config checkpoint;
};
#endif //ETHANE_CONFIG_H