diff --git a/examples/nvme/perf/perf.c b/examples/nvme/perf/perf.c index 233d5d4b3..ece7855f7 100644 --- a/examples/nvme/perf/perf.c +++ b/examples/nvme/perf/perf.c @@ -166,6 +166,7 @@ static int g_dpdk_mem; static int g_shm_id = -1; static uint32_t g_disable_sq_cmb; static bool g_no_pci; +static bool g_warn; static const char *g_core_mask; @@ -195,6 +196,7 @@ register_ns(struct spdk_nvme_ctrlr *ctrlr, struct spdk_nvme_ns *ns) printf("Controller %-20.20s (%-20.20s): Skipping inactive NS %u\n", cdata->mn, cdata->sn, spdk_nvme_ns_get_id(ns)); + g_warn = true; return; } @@ -204,6 +206,7 @@ register_ns(struct spdk_nvme_ctrlr *ctrlr, struct spdk_nvme_ns *ns) "ns size %" PRIu64 " / block size %u for I/O size %u\n", cdata->mn, cdata->sn, spdk_nvme_ns_get_id(ns), spdk_nvme_ns_get_size(ns), spdk_nvme_ns_get_sector_size(ns), g_io_size_bytes); + g_warn = true; return; } @@ -218,6 +221,7 @@ register_ns(struct spdk_nvme_ctrlr *ctrlr, struct spdk_nvme_ns *ns) printf("WARNING: controller IO queue size %u less than required\n", opts.io_queue_size); printf("You can try with smaller IO size or queue depth\n"); + g_warn = true; return; } @@ -1387,8 +1391,12 @@ int main(int argc, char **argv) goto cleanup; } + if (g_warn) { + printf("WARNING: Some requested NVMe devices were skipped\n"); + } + if (g_num_namespaces == 0) { - fprintf(stderr, "No NVMe controllers or AIO devices found.\n"); + fprintf(stderr, "No valid NVMe controllers or AIO devices found\n"); return 0; }