mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-02 23:27:06 +00:00
[SCSI] iscsi: lower queue depth
From Wang Zhenyu: High queue depth was a problem for some targets so make queue_depth adjustable From Mike Christie Make default queue_depth a little lower Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: Alex Aizman <itn780@yahoo.com> Signed-off-by: Dmitry Yusupov <dmitry_yus@yahoo.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
This commit is contained in:
parent
f6cfba1d21
commit
9e3961ba2b
2 changed files with 17 additions and 6 deletions
|
@ -2401,6 +2401,15 @@ iscsi_queuecommand(struct scsi_cmnd *sc, void (*done)(struct scsi_cmnd *))
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
iscsi_change_queue_depth(struct scsi_device *sdev, int depth)
|
||||||
|
{
|
||||||
|
if (depth > ISCSI_MAX_CMD_PER_LUN)
|
||||||
|
depth = ISCSI_MAX_CMD_PER_LUN;
|
||||||
|
scsi_adjust_queue_depth(sdev, scsi_get_tag_type(sdev), depth);
|
||||||
|
return sdev->queue_depth;
|
||||||
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
iscsi_pool_init(struct iscsi_queue *q, int max, void ***items, int item_size)
|
iscsi_pool_init(struct iscsi_queue *q, int max, void ***items, int item_size)
|
||||||
{
|
{
|
||||||
|
@ -3260,13 +3269,14 @@ iscsi_r2tpool_free(struct iscsi_session *session)
|
||||||
static struct scsi_host_template iscsi_sht = {
|
static struct scsi_host_template iscsi_sht = {
|
||||||
.name = "iSCSI Initiator over TCP/IP, v."
|
.name = "iSCSI Initiator over TCP/IP, v."
|
||||||
ISCSI_VERSION_STR,
|
ISCSI_VERSION_STR,
|
||||||
.queuecommand = iscsi_queuecommand,
|
.queuecommand = iscsi_queuecommand,
|
||||||
|
.change_queue_depth = iscsi_change_queue_depth,
|
||||||
.can_queue = ISCSI_XMIT_CMDS_MAX - 1,
|
.can_queue = ISCSI_XMIT_CMDS_MAX - 1,
|
||||||
.sg_tablesize = ISCSI_SG_TABLESIZE,
|
.sg_tablesize = ISCSI_SG_TABLESIZE,
|
||||||
.cmd_per_lun = ISCSI_CMD_PER_LUN,
|
.cmd_per_lun = ISCSI_DEF_CMD_PER_LUN,
|
||||||
.eh_abort_handler = iscsi_eh_abort,
|
.eh_abort_handler = iscsi_eh_abort,
|
||||||
.eh_host_reset_handler = iscsi_eh_host_reset,
|
.eh_host_reset_handler = iscsi_eh_host_reset,
|
||||||
.use_clustering = DISABLE_CLUSTERING,
|
.use_clustering = DISABLE_CLUSTERING,
|
||||||
.proc_name = "iscsi_tcp",
|
.proc_name = "iscsi_tcp",
|
||||||
.this_id = -1,
|
.this_id = -1,
|
||||||
};
|
};
|
||||||
|
|
|
@ -71,7 +71,8 @@
|
||||||
#define ISCSI_MGMT_CMDS_MAX 32 /* must be power of 2 */
|
#define ISCSI_MGMT_CMDS_MAX 32 /* must be power of 2 */
|
||||||
#define ISCSI_MGMT_ITT_OFFSET 0xa00
|
#define ISCSI_MGMT_ITT_OFFSET 0xa00
|
||||||
#define ISCSI_SG_TABLESIZE SG_ALL
|
#define ISCSI_SG_TABLESIZE SG_ALL
|
||||||
#define ISCSI_CMD_PER_LUN 128
|
#define ISCSI_DEF_CMD_PER_LUN 32
|
||||||
|
#define ISCSI_MAX_CMD_PER_LUN 128
|
||||||
#define ISCSI_TCP_MAX_CMD_LEN 16
|
#define ISCSI_TCP_MAX_CMD_LEN 16
|
||||||
|
|
||||||
#define ITT_MASK (0xfff)
|
#define ITT_MASK (0xfff)
|
||||||
|
|
Loading…
Reference in a new issue