* @brief initialize the arguments * * @param args */
| 212 | * @param args |
| 213 | */ |
| 214 | static void init_arg(struct arguments *args) { |
| 215 | memset(args, 0, sizeof(struct arguments)); |
| 216 | |
| 217 | args->trace_path = NULL; |
| 218 | args->eviction_params = NULL; |
| 219 | args->admission_algo = NULL; |
| 220 | args->prefetch_algo = NULL; |
| 221 | args->admission_params = NULL; |
| 222 | args->prefetch_params = NULL; |
| 223 | args->trace_type_str = NULL; |
| 224 | args->trace_type_params = NULL; |
| 225 | args->verbose = true; |
| 226 | args->use_ttl = false; |
| 227 | args->ignore_obj_size = false; |
| 228 | args->consider_obj_metadata = false; |
| 229 | args->report_interval = 3600 * 24; |
| 230 | args->n_thread = n_cores(); |
| 231 | args->warmup_sec = -1; |
| 232 | memset(args->ofilepath, 0, OFILEPATH_LEN); |
| 233 | args->n_req = -1; |
| 234 | args->sample_ratio = 1.0; |
| 235 | args->print_head_req = true; |
| 236 | |
| 237 | for (int i = 0; i < N_MAX_ALGO; i++) { |
| 238 | args->eviction_algo[i] = NULL; |
| 239 | } |
| 240 | args->n_eviction_algo = 0; |
| 241 | |
| 242 | for (int i = 0; i < N_MAX_CACHE_SIZE; i++) { |
| 243 | args->cache_sizes[i] = 0; |
| 244 | } |
| 245 | args->n_cache_size = 0; |
| 246 | } |
| 247 | |
| 248 | void free_arg(struct arguments *args) { |
| 249 | if (args->eviction_params) { |