aboutsummaryrefslogtreecommitdiffstats
path: root/sys/cam/nvme/nvme_da.c
diff options
context:
space:
mode:
authorWarner Losh <imp@FreeBSD.org>2017-08-28 19:27:33 +0000
committerWarner Losh <imp@FreeBSD.org>2017-08-28 19:27:33 +0000
commit9754579b019c927b6630f9479d3e979acc2626af (patch)
treef4a99efb35be0cc086afc862e28d6218dcb508a1 /sys/cam/nvme/nvme_da.c
parent43effc8ca8135d8619f8583c2c239d92edd77ac2 (diff)
downloadsrc-9754579b019c927b6630f9479d3e979acc2626af.tar.gz
src-9754579b019c927b6630f9479d3e979acc2626af.zip
Add comment about where we need to place this routine, and why.
Sponsored by: Netflix
Notes
Notes: svn path=/head/; revision=322977
Diffstat (limited to 'sys/cam/nvme/nvme_da.c')
-rw-r--r--sys/cam/nvme/nvme_da.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/cam/nvme/nvme_da.c b/sys/cam/nvme/nvme_da.c
index 0602e8b6f8db..a6da18cee0ba 100644
--- a/sys/cam/nvme/nvme_da.c
+++ b/sys/cam/nvme/nvme_da.c
@@ -1021,6 +1021,12 @@ ndadone(struct cam_periph *periph, union ccb *done_ccb)
free(bp->bio_driver2, M_NVMEDA);
softc->outstanding_cmds--;
+ /*
+ * We need to call cam_iosched before we call biodone so that we
+ * don't measure any activity that happens in the completion
+ * routine, which in the case of sendfile can be quite
+ * extensive.
+ */
cam_iosched_bio_complete(softc->cam_iosched, bp, done_ccb);
xpt_release_ccb(done_ccb);
if (state == NDA_CCB_TRIM) {