Commit 8bb4033d authored by Vikas Chaudhary's avatar Vikas Chaudhary Committed by James Bottomley

[SCSI] qla4xxx: Add support for ql4xmaxqdepth command line parameter

This provides the flexibility to modify the qdepth based on different
target devices to make the best use of system resources.
Signed-off-by: default avatarVikas Chaudhary <vikas.chaudhary@qlogic.com>
Reviewed-by: default avatarMike Christie <michaelc@cs.wisc.edu>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@suse.de>
parent fc7657c9
...@@ -51,6 +51,11 @@ MODULE_PARM_DESC(ql4xenablemsix, ...@@ -51,6 +51,11 @@ MODULE_PARM_DESC(ql4xenablemsix,
" 2 = enable MSI interrupt mechanism."); " 2 = enable MSI interrupt mechanism.");
#define QL4_DEF_QDEPTH 32 #define QL4_DEF_QDEPTH 32
static int ql4xmaxqdepth = QL4_DEF_QDEPTH;
module_param(ql4xmaxqdepth, int, S_IRUGO | S_IWUSR);
MODULE_PARM_DESC(ql4xmaxqdepth,
"Maximum queue depth to report for target devices.\n"
" Default: 32.");
/* /*
* SCSI host template entry points * SCSI host template entry points
...@@ -1904,10 +1909,15 @@ static int qla4xxx_slave_alloc(struct scsi_device *sdev) ...@@ -1904,10 +1909,15 @@ static int qla4xxx_slave_alloc(struct scsi_device *sdev)
{ {
struct iscsi_cls_session *sess = starget_to_session(sdev->sdev_target); struct iscsi_cls_session *sess = starget_to_session(sdev->sdev_target);
struct ddb_entry *ddb = sess->dd_data; struct ddb_entry *ddb = sess->dd_data;
int queue_depth = QL4_DEF_QDEPTH;
sdev->hostdata = ddb; sdev->hostdata = ddb;
sdev->tagged_supported = 1; sdev->tagged_supported = 1;
scsi_activate_tcq(sdev, QL4_DEF_QDEPTH);
if (ql4xmaxqdepth != 0 && ql4xmaxqdepth <= 0xffffU)
queue_depth = ql4xmaxqdepth;
scsi_activate_tcq(sdev, queue_depth);
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment