Silence 'out of chain frames' warnings and bump the number of frames.

mps.c:		Hide the 'out of chain frames' warning behind MPS_INFO.

mps_sas.c:	Hide the SIM queue freeze/unfreeze messages behind MPS_INFO.

mpsvar.h:	Bump the number of chain frames from 1024 to 2048.  From
		testing, it looks like this makes it less likely that we'll
		run out of chain frames, and it doesn't cost much memory
		(32K).

MFC after:	3 days
This commit is contained in:
ken 2011-02-25 17:30:25 +00:00
parent 7d4c7b1304
commit 41410d4d9b
3 changed files with 6 additions and 5 deletions

View File

@ -1705,7 +1705,7 @@ mps_data_cb(void *arg, bus_dma_segment_t *segs, int nsegs, int error)
sflags, nsegs - i);
if (error != 0) {
/* Resource shortage, roll back! */
mps_printf(sc, "out of chain frames\n");
mps_dprint(sc, MPS_INFO, "out of chain frames\n");
cm->cm_flags |= MPS_CM_FLAGS_CHAIN_FAILED;
mps_complete_command(cm);
return;

View File

@ -1542,8 +1542,8 @@ mpssas_scsiio_complete(struct mps_softc *sc, struct mps_command *cm)
if ((sassc->flags & MPSSAS_QUEUE_FROZEN) == 0) {
xpt_freeze_simq(sassc->sim, 1);
sassc->flags |= MPSSAS_QUEUE_FROZEN;
mps_printf(sc, "Error sending command, freezing "
"SIM queue\n");
mps_dprint(sc, MPS_INFO, "Error sending command, "
"freezing SIM queue\n");
}
}
@ -1556,7 +1556,8 @@ mpssas_scsiio_complete(struct mps_softc *sc, struct mps_command *cm)
if (sassc->flags & MPSSAS_QUEUE_FROZEN) {
ccb->ccb_h.status |= CAM_RELEASE_SIMQ;
sassc->flags &= ~MPSSAS_QUEUE_FROZEN;
mps_printf(sc, "Unfreezing SIM queue\n");
mps_dprint(sc, MPS_INFO,
"Unfreezing SIM queue\n");
}
} else {
ccb->ccb_h.status |= CAM_DEV_QFRZN;

View File

@ -34,7 +34,7 @@
#define MPS_REQ_FRAMES 1024
#define MPS_EVT_REPLY_FRAMES 32
#define MPS_REPLY_FRAMES MPS_REQ_FRAMES
#define MPS_CHAIN_FRAMES 1024
#define MPS_CHAIN_FRAMES 2048
#define MPS_SENSE_LEN SSD_FULL_SIZE
#define MPS_MSI_COUNT 1
#define MPS_SGE64_SIZE 12