Page MenuHomeFreeBSD

D45311.id138952.diff
No OneTemporary

D45311.id138952.diff

diff --git a/sys/dev/nvme/nvme_ns.c b/sys/dev/nvme/nvme_ns.c
--- a/sys/dev/nvme/nvme_ns.c
+++ b/sys/dev/nvme/nvme_ns.c
@@ -428,6 +428,7 @@
if (child_bios == NULL)
return (ENOMEM);
+ atomic_add_long(&ns->ctrlr->alignment_splits, 1);
for (i = 0; i < num_bios; i++) {
child = child_bios[i];
err = nvme_ns_bio_process(ns, child, nvme_bio_child_done);
diff --git a/sys/dev/nvme/nvme_private.h b/sys/dev/nvme/nvme_private.h
--- a/sys/dev/nvme/nvme_private.h
+++ b/sys/dev/nvme/nvme_private.h
@@ -317,6 +317,9 @@
bus_dmamap_t hmb_desc_map;
struct nvme_hmb_desc *hmb_desc_vaddr;
uint64_t hmb_desc_paddr;
+
+ /* Statistics */
+ long alignment_splits;
};
#define nvme_mmio_offsetof(reg) \
diff --git a/sys/dev/nvme/nvme_sysctl.c b/sys/dev/nvme/nvme_sysctl.c
--- a/sys/dev/nvme/nvme_sysctl.c
+++ b/sys/dev/nvme/nvme_sysctl.c
@@ -419,4 +419,8 @@
nvme_sysctl_initialize_queue(&ctrlr->ioq[i], ctrlr_ctx,
que_tree);
}
+
+ SYSCTL_ADD_LONG(ctrlr_ctx, ctrlr_list, OID_AUTO, "alignment_splits",
+ CTLFLAG_RD, &ctrlr->alignment_splits,
+ "Number of times we split the I/O in a namespace to get better alignment");
}

File Metadata

Mime Type
text/plain
Expires
Thu, Aug 6, 5:35 PM (4 h, 6 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
36127659
Default Alt Text
D45311.id138952.diff (1 KB)

Event Timeline