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 /sys/dev/ciss | |
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
Diffstat (limited to 'sys/dev/ciss')
-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; } |