[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: Vikas Chaudhary <vikas.chaudhary@qlogic.com> Reviewed-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
This commit is contained in:
Родитель
fc7657c9d9
Коммит
8bb4033d2b
|
@ -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)
|
||||||
{
|
{
|
||||||
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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче