Lines Matching defs:opts

275 calculate_mempool_size(struct spdk_app_opts *opts,
284 opts->msg_mempool_size = spdk_max(SPDK_DEFAULT_MSG_MEMPOOL_SIZE,
287 opts->msg_mempool_size = opts_user->msg_mempool_size;
292 spdk_app_opts_init(struct spdk_app_opts *opts, size_t opts_size)
294 if (!opts) {
295 SPDK_ERRLOG("opts should not be NULL\n");
304 memset(opts, 0, opts_size);
305 opts->opts_size = opts_size;
308 if (offsetof(struct spdk_app_opts, field) + sizeof(opts->field) <= opts_size) { \
309 opts->field = value; \
334 app_setup_signal_handlers(struct spdk_app_opts *opts)
419 struct spdk_rpc_opts opts;
427 opts.size = SPDK_SIZEOF(&opts, log_level);
428 opts.log_file = g_spdk_app.rpc_log_file;
429 opts.log_level = g_spdk_app.rpc_log_level;
431 rc = spdk_rpc_initialize(g_spdk_app.rpc_addr, &opts);
447 app_opts_add_pci_addr(struct spdk_app_opts *opts, struct spdk_pci_addr **list, char *bdf)
450 size_t i = opts->num_pci_addr;
464 opts->num_pci_addr++;
469 app_setup_env(struct spdk_app_opts *opts)
474 if (opts == NULL) {
486 env_opts.name = opts->name;
487 env_opts.core_mask = opts->reactor_mask;
488 env_opts.lcore_map = opts->lcore_map;
489 env_opts.shm_id = opts->shm_id;
490 env_opts.mem_channel = opts->mem_channel;
491 env_opts.main_core = opts->main_core;
492 env_opts.mem_size = opts->mem_size;
493 env_opts.hugepage_single_segments = opts->hugepage_single_segments;
494 env_opts.unlink_hugepage = opts->unlink_hugepage;
495 env_opts.hugedir = opts->hugedir;
496 env_opts.no_pci = opts->no_pci;
497 env_opts.num_pci_addr = opts->num_pci_addr;
498 env_opts.pci_blocked = opts->pci_blocked;
499 env_opts.pci_allowed = opts->pci_allowed;
500 env_opts.base_virtaddr = opts->base_virtaddr;
501 env_opts.env_context = opts->env_context;
502 env_opts.iova_mode = opts->iova_mode;
503 env_opts.vf_token = opts->vf_token;
504 env_opts.no_huge = opts->no_huge;
505 env_opts.enforce_numa = opts->enforce_numa;
522 app_setup_trace(struct spdk_app_opts *opts)
531 if (opts->shm_id >= 0) {
532 snprintf(shm_name, sizeof(shm_name), "/%s%s%d", opts->name,
533 SPDK_TRACE_SHM_NAME_BASE, opts->shm_id);
535 snprintf(shm_name, sizeof(shm_name), "/%s%spid%d", opts->name,
539 if (spdk_trace_init(shm_name, opts->num_entries, 0) != 0) {
543 if (opts->tpoint_group_mask == NULL) {
547 tpoint_group_mask_str = strdup(opts->tpoint_group_mask);
549 SPDK_ERRLOG("Unable to get string of tpoint group mask from opts.\n");
608 SPDK_ERRLOG("invalid tpoint mask %s\n", opts->tpoint_group_mask);
612 SPDK_NOTICELOG("Tracepoint Group Mask %s specified.\n", opts->tpoint_group_mask);
614 opts->name,
615 opts->shm_id >= 0 ? "-i" : "-p",
616 opts->shm_id >= 0 ? opts->shm_id : getpid());
645 app_copy_opts(struct spdk_app_opts *opts, struct spdk_app_opts *opts_user, size_t opts_size)
647 spdk_app_opts_init(opts, sizeof(*opts));
648 opts->opts_size = opts_size;
651 if (offsetof(struct spdk_app_opts, field) + sizeof(opts->field) <= (opts->opts_size)) { \
652 opts->field = opts_user->field; \
816 struct spdk_app_opts *opts = &opts_local;
834 app_copy_opts(opts, opts_user, opts_user->opts_size);
841 if (!opts->rpc_addr && opts->delay_subsystem_init) {
846 if (!(opts->lcore_map || opts->reactor_mask)) {
848 opts->reactor_mask = SPDK_APP_DPDK_DEFAULT_CORE_MASK;
852 if (opts->print_level > SPDK_LOG_WARN &&
863 spdk_log_set_print_level(opts->print_level);
866 if (opts->enable_coredump) {
874 if (opts->interrupt_mode) {
880 g_spdk_app.json_config_ignore_errors = opts->json_config_ignore_errors;
881 g_spdk_app.rpc_addr = opts->rpc_addr;
882 g_spdk_app.rpc_allowlist = opts->rpc_allowlist;
883 g_spdk_app.rpc_log_file = opts->rpc_log_file;
884 g_spdk_app.rpc_log_level = opts->rpc_log_level;
885 g_spdk_app.shm_id = opts->shm_id;
886 g_spdk_app.shutdown_cb = opts->shutdown_cb;
895 if (app_setup_env(g_env_was_setup ? NULL : opts) < 0) {
901 calculate_mempool_size(opts, opts_user);
903 spdk_log_open(opts->log);
910 if (!opts->disable_cpumask_locks) {
921 if ((rc = spdk_reactors_init(opts->msg_mempool_size)) != 0) {
938 if (opts->num_entries != 0 && app_setup_trace(opts) != 0) {
956 if (!opts->disable_signal_handlers && app_setup_signal_handlers(opts) != 0) {
960 g_delay_subsystem_init = opts->delay_subsystem_init;
964 if (opts->json_config_file != NULL) {
965 if (opts->json_data) {
966 SPDK_ERRLOG("App opts json_config_file and json_data are mutually exclusive\n");
970 g_spdk_app.json_data = spdk_posix_file_load_from_name(opts->json_config_file,
974 opts->json_config_file, spdk_strerror(errno));
977 } else if (opts->json_data) {
978 g_spdk_app.json_data = calloc(1, opts->json_data_size);
984 memcpy(g_spdk_app.json_data, opts->json_data, opts->json_data_size);
985 g_spdk_app.json_data_size = opts->json_data_size;
1160 spdk_app_parse_args(int argc, char **argv, struct spdk_app_opts *opts,
1172 memcpy(&g_default_opts, opts, sizeof(g_default_opts));
1174 if (opts->json_config_file && access(opts->json_config_file, R_OK) != 0) {
1175 SPDK_WARNLOG("Can't read JSON configuration file '%s'\n", opts->json_config_file);
1176 opts->json_config_file = NULL;
1204 SPDK_ERRLOG("Duplicated option '%c' between app-specific command line parameter and generic spdk opts.\n",
1227 opts->json_config_file = optarg;
1230 opts->json_config_ignore_errors = true;
1233 opts->enable_coredump = false;
1236 opts->tpoint_group_mask = optarg;
1239 opts->hugepage_single_segments = true;
1254 opts->shm_id = spdk_strtol(shm_id_str, 0);
1255 if (opts->shm_id < 0) {
1260 opts->shm_id = -opts->shm_id;
1264 if (opts->lcore_map) {
1268 opts->reactor_mask = optarg;
1271 if (opts->reactor_mask) {
1275 opts->lcore_map = optarg;
1278 opts->disable_cpumask_locks = true;
1281 opts->mem_channel = spdk_strtol(optarg, 0);
1282 if (opts->mem_channel < 0) {
1288 opts->main_core = spdk_strtol(optarg, 0);
1289 if (opts->main_core < 0) {
1295 opts->print_level = SPDK_LOG_WARN;
1298 opts->rpc_addr = optarg;
1301 opts->rpc_addr = NULL;
1304 opts->enforce_numa = true;
1330 opts->mem_size = (int) mem_size_mb;
1340 opts->msg_mempool_size = (size_t)tmp;
1344 opts->no_pci = true;
1347 opts->delay_subsystem_init = true;
1350 if (opts->pci_allowed) {
1351 free(opts->pci_allowed);
1352 opts->pci_allowed = NULL;
1358 rc = app_opts_add_pci_addr(opts, &opts->pci_blocked, optarg);
1360 free(opts->pci_blocked);
1361 opts->pci_blocked = NULL;
1367 opts->no_huge = true;
1378 opts->print_level = SPDK_LOG_DEBUG;
1382 opts->unlink_hugepage = true;
1385 if (opts->pci_blocked) {
1386 free(opts->pci_blocked);
1387 opts->pci_blocked = NULL;
1393 rc = app_opts_add_pci_addr(opts, &opts->pci_allowed, optarg);
1395 free(opts->pci_allowed);
1396 opts->pci_allowed = NULL;
1407 opts->base_virtaddr = (uint64_t)tmp;
1410 opts->hugedir = optarg;
1413 opts->iova_mode = optarg;
1422 opts->num_entries = (uint64_t)tmp;
1423 if (opts->num_entries > 0 && opts->num_entries & (opts->num_entries - 1)) {
1430 opts->env_context = optarg;
1433 opts->rpc_allowlist = (const char **)spdk_strarray_from_string(optarg, ",");
1434 if (opts->rpc_allowlist == NULL) {
1441 opts->vf_token = optarg;
1444 opts->interrupt_mode = true;
1475 free(opts->pci_blocked);
1476 opts->pci_blocked = NULL;
1477 free(opts->pci_allowed);
1478 opts->pci_allowed = NULL;
1479 spdk_strarray_free((char **)opts->rpc_allowlist);
1480 opts->rpc_allowlist = NULL;