From 71400dd3ee61b54a1fc6827e25d86276593a336d Mon Sep 17 00:00:00 2001 From: Jim Harris Date: Fri, 24 May 2019 14:45:55 -0700 Subject: [PATCH] nvme/perf: show transport id instead of serial number The serial number doesn't provide much value - but the transport id can sometimes be helpful though to correlate performance of different devices to their PCI BDF. Signed-off-by: Jim Harris Change-Id: I529f111311108a6efc1ba23129963bb4383d3bdd Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/456078 Tested-by: SPDK CI Jenkins Reviewed-by: Changpeng Liu Reviewed-by: Ben Walker --- examples/nvme/perf/perf.c | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/examples/nvme/perf/perf.c b/examples/nvme/perf/perf.c index 4b4a07e43..36a61b72e 100644 --- a/examples/nvme/perf/perf.c +++ b/examples/nvme/perf/perf.c @@ -629,10 +629,24 @@ static const struct ns_fn_table nvme_fn_table = { static void build_nvme_name(char *name, size_t length, struct spdk_nvme_ctrlr *ctrlr) { - const struct spdk_nvme_ctrlr_data *cdata; + const struct spdk_nvme_transport_id *trid; - cdata = spdk_nvme_ctrlr_get_data(ctrlr); - snprintf(name, length, "%-20.20s (%-20.20s)", cdata->mn, cdata->sn); + trid = spdk_nvme_ctrlr_get_transport_id(ctrlr); + + switch (trid->trtype) { + case SPDK_NVME_TRANSPORT_PCIE: + snprintf(name, length, "PCIE (%s)", trid->traddr); + break; + case SPDK_NVME_TRANSPORT_RDMA: + snprintf(name, length, "RDMA (addr:%s subnqn:%s)", trid->traddr, trid->subnqn); + break; + case SPDK_NVME_TRANSPORT_TCP: + snprintf(name, length, "TCP (addr:%s subnqn:%s)", trid->traddr, trid->subnqn); + break; + default: + fprintf(stderr, "Unknown transport type %d\n", trid->trtype); + break; + } } static void