app, opts: add a new dpdk configuration: no-pci
In this patch, we also update perf and identify examples. If there is no local nvme device info parsing, we will set dpdk initialization with no-pci choice. Change-Id: I58b2d291b7b53894aeb194a16798ff1c72cf25b4 Signed-off-by: Ziye Yang <optimistyzy@gmail.com> Reviewed-on: https://review.gerrithub.io/365361 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
parent
dcb7abc717
commit
fb6c541d37
@ -1077,6 +1077,9 @@ int main(int argc, char **argv)
|
|||||||
opts.dpdk_mem_channel = 1;
|
opts.dpdk_mem_channel = 1;
|
||||||
opts.dpdk_master_core = g_master_core;
|
opts.dpdk_master_core = g_master_core;
|
||||||
opts.core_mask = g_core_mask;
|
opts.core_mask = g_core_mask;
|
||||||
|
if (g_trid.trtype != SPDK_NVME_TRANSPORT_PCIE) {
|
||||||
|
opts.no_pci = true;
|
||||||
|
}
|
||||||
spdk_env_init(&opts);
|
spdk_env_init(&opts);
|
||||||
|
|
||||||
rc = 0;
|
rc = 0;
|
||||||
|
@ -166,6 +166,7 @@ static uint32_t g_max_completions;
|
|||||||
static int g_dpdk_mem;
|
static int g_dpdk_mem;
|
||||||
static int g_shm_id = -1;
|
static int g_shm_id = -1;
|
||||||
static uint32_t g_disable_sq_cmb;
|
static uint32_t g_disable_sq_cmb;
|
||||||
|
static bool g_no_pci;
|
||||||
|
|
||||||
static const char *g_core_mask;
|
static const char *g_core_mask;
|
||||||
|
|
||||||
@ -1090,6 +1091,17 @@ parse_args(int argc, char **argv)
|
|||||||
if (TAILQ_EMPTY(&g_trid_list)) {
|
if (TAILQ_EMPTY(&g_trid_list)) {
|
||||||
/* If no transport IDs specified, default to enumerating all local PCIe devices */
|
/* If no transport IDs specified, default to enumerating all local PCIe devices */
|
||||||
add_trid("trtype:PCIe");
|
add_trid("trtype:PCIe");
|
||||||
|
} else {
|
||||||
|
struct trid_entry *trid_entry, *trid_entry_tmp;
|
||||||
|
|
||||||
|
g_no_pci = true;
|
||||||
|
/* check whether there is local PCIe type */
|
||||||
|
TAILQ_FOREACH_SAFE(trid_entry, &g_trid_list, tailq, trid_entry_tmp) {
|
||||||
|
if (trid_entry->trid.trtype == SPDK_NVME_TRANSPORT_PCIE) {
|
||||||
|
g_no_pci = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
g_aio_optind = optind;
|
g_aio_optind = optind;
|
||||||
@ -1332,6 +1344,9 @@ int main(int argc, char **argv)
|
|||||||
if (g_dpdk_mem) {
|
if (g_dpdk_mem) {
|
||||||
opts.dpdk_mem_size = g_dpdk_mem;
|
opts.dpdk_mem_size = g_dpdk_mem;
|
||||||
}
|
}
|
||||||
|
if (g_no_pci) {
|
||||||
|
opts.no_pci = g_no_pci;
|
||||||
|
}
|
||||||
spdk_env_init(&opts);
|
spdk_env_init(&opts);
|
||||||
|
|
||||||
g_tsc_rate = spdk_get_ticks_hz();
|
g_tsc_rate = spdk_get_ticks_hz();
|
||||||
|
@ -59,6 +59,7 @@ struct spdk_env_opts {
|
|||||||
int dpdk_mem_channel;
|
int dpdk_mem_channel;
|
||||||
int dpdk_master_core;
|
int dpdk_master_core;
|
||||||
int dpdk_mem_size;
|
int dpdk_mem_size;
|
||||||
|
bool no_pci;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -81,6 +81,7 @@ struct spdk_app_opts {
|
|||||||
int dpdk_mem_channel;
|
int dpdk_mem_channel;
|
||||||
int dpdk_master_core;
|
int dpdk_master_core;
|
||||||
int dpdk_mem_size;
|
int dpdk_mem_size;
|
||||||
|
bool no_pci;
|
||||||
|
|
||||||
/* The maximum latency allowed when passing an event
|
/* The maximum latency allowed when passing an event
|
||||||
* from one core to another. A value of 0
|
* from one core to another. A value of 0
|
||||||
|
@ -198,6 +198,14 @@ spdk_build_eal_cmdline(const struct spdk_env_opts *opts, char **out[])
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* set no pci if enabled */
|
||||||
|
if (opts->no_pci) {
|
||||||
|
args = spdk_push_arg(args, &argcount, _sprintf_alloc("--no-pci"));
|
||||||
|
if (args == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef __linux__
|
#ifdef __linux__
|
||||||
if (opts->shm_id < 0) {
|
if (opts->shm_id < 0) {
|
||||||
args = spdk_push_arg(args, &argcount, _sprintf_alloc("--file-prefix=spdk_pid%d",
|
args = spdk_push_arg(args, &argcount, _sprintf_alloc("--file-prefix=spdk_pid%d",
|
||||||
|
@ -310,6 +310,7 @@ spdk_app_init(struct spdk_app_opts *opts)
|
|||||||
env_opts.dpdk_mem_channel = opts->dpdk_mem_channel;
|
env_opts.dpdk_mem_channel = opts->dpdk_mem_channel;
|
||||||
env_opts.dpdk_master_core = opts->dpdk_master_core;
|
env_opts.dpdk_master_core = opts->dpdk_master_core;
|
||||||
env_opts.dpdk_mem_size = opts->dpdk_mem_size;
|
env_opts.dpdk_mem_size = opts->dpdk_mem_size;
|
||||||
|
env_opts.no_pci = opts->no_pci;
|
||||||
|
|
||||||
spdk_env_init(&env_opts);
|
spdk_env_init(&env_opts);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user