aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Miller <mike.miller@hp.com>2008-03-04 05:25:15 -0500
committerJens Axboe <jens.axboe@oracle.com>2008-03-04 05:28:43 -0500
commit68d95b585f1b67b3c89ce0eb934e221ebeeb5c61 (patch)
treea039e77970aa5ed39902dfeeed41df2db3f7f2c4
parentecb80c6a490863af569853eea2a925f97e9e856a (diff)
cciss: remove READ_AHEAD define and use block layer defaults
This patch removes the #define READ_AHEAD 1024 from the driver and uses the block layer defaults, instead. We have found that under certain workloads the setting can cause a disk connected to the e200 controller to go offline. If the disk hiccups the link may try to downshift but the controller is never notified that the link successfully completed the renegotiation. We've also found that performance using the block layer default of 32 pages was on par with the 1024 setting. We tried setting it to zero at one time based on info from our firmware guys but that killed performance. Turns out we were talking about 2 different read ahead settings. Please consider this for inclusion. Signed-off-by: Mike Miller <mike.miller@hp.com> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
-rw-r--r--drivers/block/cciss.c3
1 files changed, 0 insertions, 3 deletions
diff --git a/drivers/block/cciss.c b/drivers/block/cciss.c
index f1e7390683fd..55bd35c0f082 100644
--- a/drivers/block/cciss.c
+++ b/drivers/block/cciss.c
@@ -132,7 +132,6 @@ static struct board_type products[] = {
132/*define how many times we will try a command because of bus resets */ 132/*define how many times we will try a command because of bus resets */
133#define MAX_CMD_RETRIES 3 133#define MAX_CMD_RETRIES 3
134 134
135#define READ_AHEAD 1024
136#define MAX_CTLR 32 135#define MAX_CTLR 32
137 136
138/* Originally cciss driver only supports 8 major numbers */ 137/* Originally cciss driver only supports 8 major numbers */
@@ -1402,7 +1401,6 @@ geo_inq:
1402 disk->private_data = &h->drv[drv_index]; 1401 disk->private_data = &h->drv[drv_index];
1403 1402
1404 /* Set up queue information */ 1403 /* Set up queue information */
1405 disk->queue->backing_dev_info.ra_pages = READ_AHEAD;
1406 blk_queue_bounce_limit(disk->queue, hba[ctlr]->pdev->dma_mask); 1404 blk_queue_bounce_limit(disk->queue, hba[ctlr]->pdev->dma_mask);
1407 1405
1408 /* This is a hardware imposed limit. */ 1406 /* This is a hardware imposed limit. */
@@ -3495,7 +3493,6 @@ static int __devinit cciss_init_one(struct pci_dev *pdev,
3495 } 3493 }
3496 drv->queue = q; 3494 drv->queue = q;
3497 3495
3498 q->backing_dev_info.ra_pages = READ_AHEAD;
3499 blk_queue_bounce_limit(q, hba[i]->pdev->dma_mask); 3496 blk_queue_bounce_limit(q, hba[i]->pdev->dma_mask);
3500 3497
3501 /* This is a hardware imposed limit. */ 3498 /* This is a hardware imposed limit. */