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,
|
||||
};
|
||||
|
||||
static void
|
||||
static int
|
||||
build_nvme_name(char *name, size_t length, struct spdk_nvme_ctrlr *ctrlr)
|
||||
{
|
||||
const struct spdk_nvme_transport_id *trid;
|
||||
int res = 0;
|
||||
|
||||
trid = spdk_nvme_ctrlr_get_transport_id(ctrlr);
|
||||
|
||||
switch (trid->trtype) {
|
||||
case SPDK_NVME_TRANSPORT_PCIE:
|
||||
snprintf(name, length, "PCIE (%s)", trid->traddr);
|
||||
res = 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);
|
||||
res = 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);
|
||||
res = snprintf(name, length, "TCP (addr:%s subnqn:%s)", trid->traddr, trid->subnqn);
|
||||
break;
|
||||
|
||||
default:
|
||||
fprintf(stderr, "Unknown transport type %d\n", trid->trtype);
|
||||
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
|
||||
@ -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;
|
||||
}
|
||||
|
||||
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++;
|
||||
entry->next = g_namespaces;
|
||||
|
Loading…
Reference in New Issue
Block a user