Messages in this thread | | | Subject | Re: [PATCH] hptiop: HighPoint RocketRAID 3xxx controller driver | From | James Bottomley <> | Date | Sat, 10 Jun 2006 10:36:22 -0500 |
| |
On Tue, 2006-05-16 at 14:38 +0800, HighPoint Linux Team wrote: _req = get_req(hba); if (_req == NULL) { dprintk("hptiop_queuecmd : no free req\n"); scp->result = DID_BUS_BUSY << 16; goto cmd_done; }
This should be doing a return SCSI_MLQUEUE_HOST_BUSY. DID_BUS_BUSY doesn't do the resource contention counting that you want (MLQUEUE_HOST_BUSY will wait until a command returns ... presumably freeing up resources before trying another).
/* * hptiop_shutdown will flash controller cache. */ if (scp->cmnd[0] == SYNCHRONIZE_CACHE) { scp->result = DID_OK<<16; goto cmd_done; }
Are you really sure you want to do this? It looks like we'll be doing this in cases where shutdown won't be called (like suspend).
host->can_queue = le32_to_cpu(iop_config.max_requests); host->cmd_per_lun = le32_to_cpu(iop_config.max_requests);
You might want to think about adjusting this. For the single LUN case, it's fine. For the multi-lun case it may allow commands to a single LUN to starve everything else.
However, these are minor points ... I'll put the driver in and you can fix them up later.
James
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |