aboutsummaryrefslogtreecommitdiff
path: root/sys/cam/cam_xpt.c
diff options
context:
space:
mode:
authorWarner Losh <imp@FreeBSD.org>2017-08-24 22:10:58 +0000
committerWarner Losh <imp@FreeBSD.org>2017-08-24 22:10:58 +0000
commite4c9cba71ff03f0aa6daa924437208b29cffeb40 (patch)
tree2665b3185a856f3d3156973fc6bf7268fe4f09fd /sys/cam/cam_xpt.c
parenta4658c801e0b38d579a4c38087e51a621851d9b4 (diff)
downloadsrc-e4c9cba71ff03f0aa6daa924437208b29cffeb40.tar.gz
src-e4c9cba71ff03f0aa6daa924437208b29cffeb40.zip
Notes
Diffstat (limited to 'sys/cam/cam_xpt.c')
-rw-r--r--sys/cam/cam_xpt.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/cam/cam_xpt.c b/sys/cam/cam_xpt.c
index b29c0aa7079f..ec7169dd7b15 100644
--- a/sys/cam/cam_xpt.c
+++ b/sys/cam/cam_xpt.c
@@ -55,6 +55,7 @@ __FBSDID("$FreeBSD$");
#include <cam/cam.h>
#include <cam/cam_ccb.h>
+#include <cam/cam_iosched.h>
#include <cam/cam_periph.h>
#include <cam/cam_queue.h>
#include <cam/cam_sim.h>
@@ -3494,7 +3495,7 @@ xpt_run_devq(struct cam_devq *devq)
mtx_lock(mtx);
else
mtx = NULL;
- work_ccb->ccb_h.qos.sim_data = sbinuptime(); // xxx uintprt_t too small 32bit platforms
+ work_ccb->ccb_h.qos.periph_data = cam_iosched_now();
(*(sim->sim_action))(sim, work_ccb);
if (mtx)
mtx_unlock(mtx);
@@ -4641,7 +4642,7 @@ xpt_done(union ccb *done_ccb)
return;
/* Store the time the ccb was in the sim */
- done_ccb->ccb_h.qos.sim_data = sbinuptime() - done_ccb->ccb_h.qos.sim_data;
+ done_ccb->ccb_h.qos.periph_data = cam_iosched_delta_t(done_ccb->ccb_h.qos.periph_data);
hash = (done_ccb->ccb_h.path_id + done_ccb->ccb_h.target_id +
done_ccb->ccb_h.target_lun) % cam_num_doneqs;
queue = &cam_doneqs[hash];
@@ -4664,7 +4665,7 @@ xpt_done_direct(union ccb *done_ccb)
return;
/* Store the time the ccb was in the sim */
- done_ccb->ccb_h.qos.sim_data = sbinuptime() - done_ccb->ccb_h.qos.sim_data;
+ done_ccb->ccb_h.qos.periph_data = cam_iosched_delta_t(done_ccb->ccb_h.qos.periph_data);
xpt_done_process(&done_ccb->ccb_h);
}