diff options
author | scottl <scottl@FreeBSD.org> | 2009-02-20 07:43:43 +0000 |
---|---|---|
committer | scottl <scottl@FreeBSD.org> | 2009-02-20 07:43:43 +0000 |
commit | 25970e49c4c8500f9265a55502d2cdb1b530d455 (patch) | |
tree | 31d06592a30c9a15d9ae39f0ec4f02690b269aed | |
parent | 9894622a1c3bbdb740cb4fa7cfd9dcecc0697db0 (diff) | |
download | FreeBSD-src-25970e49c4c8500f9265a55502d2cdb1b530d455.zip FreeBSD-src-25970e49c4c8500f9265a55502d2cdb1b530d455.tar.gz |
Tell CAM that CISS logical devices support tagged queueing. This fixes
the low "max device openings" count that has led to poor performance in
FreeBSD 7.0 and 7.1
-rw-r--r-- | sys/dev/ciss/ciss.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/dev/ciss/ciss.c b/sys/dev/ciss/ciss.c index 559dacd..208edca 100644 --- a/sys/dev/ciss/ciss.c +++ b/sys/dev/ciss/ciss.c @@ -2981,8 +2981,8 @@ ciss_cam_action(struct cam_sim *sim, union ccb *ccb) { struct ccb_trans_settings *cts = &ccb->cts; int bus, target; - struct ccb_trans_settings_spi *spi = - &cts->xport_specific.spi; + struct ccb_trans_settings_spi *spi = &cts->xport_specific.spi; + struct ccb_trans_settings_scsi *scsi = &cts->proto_specific.scsi; bus = cam_sim_bus(sim); target = cts->ccb_h.target_id; @@ -2997,6 +2997,9 @@ ciss_cam_action(struct cam_sim *sim, union ccb *ccb) spi->valid = CTS_SPI_VALID_DISC; spi->flags = CTS_SPI_FLAGS_DISC_ENB; + scsi->valid = CTS_SCSI_VALID_TQ; + scsi->flags = CTS_SCSI_FLAGS_TAG_ENB; + cts->ccb_h.status = CAM_REQ_CMP; break; } |