public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
* [patch 2/4] ibmvscsi.c: limit size of I/O requests
@ 2004-11-29 20:31 Dave C Boutcher
  2004-11-30  7:54 ` Jens Axboe
  2004-12-31 17:47 ` [patch] ibmvscsi.c: limit size of I/O requests, updated Dave C Boutcher
  0 siblings, 2 replies; 7+ messages in thread
From: Dave C Boutcher @ 2004-11-29 20:31 UTC (permalink / raw)
  To: linux-scsi

Description: Limit the size of I/O requests sent by the 
ibmvscsi adapter.  With better I/O scheduling (and thus larger
requests) we were breaking some servers.

Signed-off-by: Dave Boutcher <boutcher@us.ibm.com>
---

 ibmvscsi.c |   15 ++++++++++++---
 1 files changed, 12 insertions(+), 3 deletions(-)

--- linux-2.6.10-rc1orig/drivers/scsi/ibmvscsi/ibmvscsi.c	2004-12-01 10:46:58.413032856 -0600
+++ linux-2.6.10-rc1/drivers/scsi/ibmvscsi/ibmvscsi.c	2004-12-01 10:46:34.616058720 -0600
@@ -86,8 +86,9 @@
 static int max_channel = 3;
 static int init_timeout = 5;
 static int max_requests = 50;
+static int max_sectors = 32 * 8; /* default max I/O 32 pages */
 
-#define IBMVSCSI_VERSION "1.5.1"
+#define IBMVSCSI_VERSION "1.5.2"
 
 MODULE_DESCRIPTION("IBM Virtual SCSI");
 MODULE_AUTHOR("Dave Boutcher");
@@ -102,6 +103,8 @@
 MODULE_PARM_DESC(init_timeout, "Initialization timeout in seconds");
 module_param_named(max_requests, max_requests, int, S_IRUGO | S_IWUSR);
 MODULE_PARM_DESC(max_requests, "Maximum requests for this adapter");
+module_param_named(max_sectors, max_sectors, int, S_IRUGO | S_IWUSR);
+MODULE_PARM_DESC(max_sectors, "Maximum sectors per request for this adapter");
 
 /* ------------------------------------------------------------
  * Routines for the event pool and event structs
@@ -641,11 +644,16 @@
 		       evt_struct->xfer_iu->mad.adapter_info.common.status);
 	} else {
 		printk("ibmvscsi: host srp version: %s, "
-		       "host partition %s (%d), OS %d\n",
+		       "host partition %s (%d), OS %d, max io %u\n",
 		       hostdata->madapter_info.srp_version,
 		       hostdata->madapter_info.partition_name,
 		       hostdata->madapter_info.partition_number,
-		       hostdata->madapter_info.os_type);
+		       hostdata->madapter_info.os_type,
+		       hostdata->madapter_info.port_max_txu[0]);
+
+		if (hostdata->madapter_info.port_max_txu[0]) 
+		    hostdata->host->max_sectors = 
+			hostdata->madapter_info.port_max_txu[0] >> 9;
 	}
 }
 
@@ -1295,6 +1303,7 @@
 	hostdata->host = host;
 	hostdata->dev = dev;
 	atomic_set(&hostdata->request_limit, -1);
+	hostdata->host->max_sectors = max_sectors; 
 
 	if (ibmvscsi_init_crq_queue(&hostdata->queue, hostdata,
 				    max_requests) != 0) {
-- 
Dave Boutcher

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2004-12-31 19:19 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-11-29 20:31 [patch 2/4] ibmvscsi.c: limit size of I/O requests Dave C Boutcher
2004-11-30  7:54 ` Jens Axboe
2004-11-30 15:29   ` Dave C Boutcher
2004-12-02 20:13     ` Jens Axboe
2004-12-31 17:47 ` [patch] ibmvscsi.c: limit size of I/O requests, updated Dave C Boutcher
2004-12-31 19:10   ` James Bottomley
2004-12-31 19:19     ` Dave C Boutcher

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox