perf: Add NSID in perf output information
Currently an option is implemented to monitor a correlation between the core and namespace. Previously: ================================================================== Device Information RDMA (addr:1.1.75.2 subnqn:nqn.2016-06.io.spdk:cnode1) from core 0: RDMA (addr:1.1.75.2 subnqn:nqn.2016-06.io.spdk:cnode1) from core 0: ================================================================== Now: ======================================================================== Device Information RDMA (addr:1.1.75.2 subnqn:nqn.2016-06.io.spdk:cnode1) NSID 1 from core 0: RDMA (addr:1.1.75.2 subnqn:nqn.2016-06.io.spdk:cnode1) NSID 2 from core 0: ======================================================================== Signed-off-by: Alla Kiseleva <c_allaki@mellanox.com> Change-Id: I35e39c62bbdac05152f35e11eb1d560eb0e50404 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/955 Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
This commit is contained in:
parent
c688f5e93e
commit
14db3c7e4b
@ -633,27 +633,42 @@ static const struct ns_fn_table nvme_fn_table = {
|
|||||||
.cleanup_ns_worker_ctx = nvme_cleanup_ns_worker_ctx,
|
.cleanup_ns_worker_ctx = nvme_cleanup_ns_worker_ctx,
|
||||||
};
|
};
|
||||||
|
|
||||||
static void
|
static int
|
||||||
build_nvme_name(char *name, size_t length, struct spdk_nvme_ctrlr *ctrlr)
|
build_nvme_name(char *name, size_t length, struct spdk_nvme_ctrlr *ctrlr)
|
||||||
{
|
{
|
||||||
const struct spdk_nvme_transport_id *trid;
|
const struct spdk_nvme_transport_id *trid;
|
||||||
|
int res = 0;
|
||||||
|
|
||||||
trid = spdk_nvme_ctrlr_get_transport_id(ctrlr);
|
trid = spdk_nvme_ctrlr_get_transport_id(ctrlr);
|
||||||
|
|
||||||
switch (trid->trtype) {
|
switch (trid->trtype) {
|
||||||
case SPDK_NVME_TRANSPORT_PCIE:
|
case SPDK_NVME_TRANSPORT_PCIE:
|
||||||
snprintf(name, length, "PCIE (%s)", trid->traddr);
|
res = snprintf(name, length, "PCIE (%s)", trid->traddr);
|
||||||
break;
|
break;
|
||||||
case SPDK_NVME_TRANSPORT_RDMA:
|
case SPDK_NVME_TRANSPORT_RDMA:
|
||||||
snprintf(name, length, "RDMA (addr:%s subnqn:%s)", trid->traddr, trid->subnqn);
|
res = snprintf(name, length, "RDMA (addr:%s subnqn:%s)", trid->traddr, trid->subnqn);
|
||||||
break;
|
break;
|
||||||
case SPDK_NVME_TRANSPORT_TCP:
|
case SPDK_NVME_TRANSPORT_TCP:
|
||||||
snprintf(name, length, "TCP (addr:%s subnqn:%s)", trid->traddr, trid->subnqn);
|
res = snprintf(name, length, "TCP (addr:%s subnqn:%s)", trid->traddr, trid->subnqn);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
fprintf(stderr, "Unknown transport type %d\n", trid->trtype);
|
fprintf(stderr, "Unknown transport type %d\n", trid->trtype);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
build_nvme_ns_name(char *name, size_t length, struct spdk_nvme_ctrlr *ctrlr, uint32_t nsid)
|
||||||
|
{
|
||||||
|
int res = 0;
|
||||||
|
|
||||||
|
res = build_nvme_name(name, length, ctrlr);
|
||||||
|
if (res > 0) {
|
||||||
|
snprintf(name + res, length - res, " NSID %u", nsid);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -747,7 +762,7 @@ register_ns(struct spdk_nvme_ctrlr *ctrlr, struct spdk_nvme_ns *ns)
|
|||||||
g_max_io_size_blocks = entry->io_size_blocks;
|
g_max_io_size_blocks = entry->io_size_blocks;
|
||||||
}
|
}
|
||||||
|
|
||||||
build_nvme_name(entry->name, sizeof(entry->name), ctrlr);
|
build_nvme_ns_name(entry->name, sizeof(entry->name), ctrlr, spdk_nvme_ns_get_id(ns));
|
||||||
|
|
||||||
g_num_namespaces++;
|
g_num_namespaces++;
|
||||||
entry->next = g_namespaces;
|
entry->next = g_namespaces;
|
||||||
|
Loading…
Reference in New Issue
Block a user