aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/pm8001/pm8001_init.c
diff options
context:
space:
mode:
authorMark Salyzyn <mark_salyzyn@xyratex.com>2012-04-25 13:02:04 -0400
committerJames Bottomley <JBottomley@Parallels.com>2012-05-10 04:02:07 -0400
commit99c72ebceb4dda445b4b74c6f46035feec95a2b3 (patch)
tree1e1193141eeda899a2edff882af5785400f1660c /drivers/scsi/pm8001/pm8001_init.c
parent85bb4457ef47db81afef98f97de524199e139433 (diff)
[SCSI] pm8001: raise host can queue
This is a followup to a patch provided by Jack Wang on September 21 2011. After increasing the CAN_QUEUE to 510 in pm8001 we discovered some performance degredation from time to time. We needed to increase the MPI queue to compensate and ensure we never hit that limit. We also needed to double the margin to support event and administrivial commands that take from the pool resulting in an occasional largely unproductive command completion with soft error to the caller when the command pool is overloaded temporarily. Signed-off-by: Mark Salyzyn <mark_salyzyn@xyratex.com> Acked-by: Jack Wang <jack_wang@usish.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/pm8001/pm8001_init.c')
-rw-r--r--drivers/scsi/pm8001/pm8001_init.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/scsi/pm8001/pm8001_init.c b/drivers/scsi/pm8001/pm8001_init.c
index 36efaa7c3a54..0267c22f8741 100644
--- a/drivers/scsi/pm8001/pm8001_init.c
+++ b/drivers/scsi/pm8001/pm8001_init.c
@@ -235,15 +235,15 @@ static int __devinit pm8001_alloc(struct pm8001_hba_info *pm8001_ha)
235 pm8001_ha->memoryMap.region[PI].alignment = 4; 235 pm8001_ha->memoryMap.region[PI].alignment = 4;
236 236
237 /* MPI Memory region 5 inbound queues */ 237 /* MPI Memory region 5 inbound queues */
238 pm8001_ha->memoryMap.region[IB].num_elements = 256; 238 pm8001_ha->memoryMap.region[IB].num_elements = PM8001_MPI_QUEUE;
239 pm8001_ha->memoryMap.region[IB].element_size = 64; 239 pm8001_ha->memoryMap.region[IB].element_size = 64;
240 pm8001_ha->memoryMap.region[IB].total_len = 256 * 64; 240 pm8001_ha->memoryMap.region[IB].total_len = PM8001_MPI_QUEUE * 64;
241 pm8001_ha->memoryMap.region[IB].alignment = 64; 241 pm8001_ha->memoryMap.region[IB].alignment = 64;
242 242
243 /* MPI Memory region 6 inbound queues */ 243 /* MPI Memory region 6 outbound queues */
244 pm8001_ha->memoryMap.region[OB].num_elements = 256; 244 pm8001_ha->memoryMap.region[OB].num_elements = PM8001_MPI_QUEUE;
245 pm8001_ha->memoryMap.region[OB].element_size = 64; 245 pm8001_ha->memoryMap.region[OB].element_size = 64;
246 pm8001_ha->memoryMap.region[OB].total_len = 256 * 64; 246 pm8001_ha->memoryMap.region[OB].total_len = PM8001_MPI_QUEUE * 64;
247 pm8001_ha->memoryMap.region[OB].alignment = 64; 247 pm8001_ha->memoryMap.region[OB].alignment = 64;
248 248
249 /* Memory region write DMA*/ 249 /* Memory region write DMA*/