[ofa-general] Re: [PATCH 2/2] IB/iser: lower queue depth

Mike Christie michaelc at cs.wisc.edu
Mon Jan 21 14:13:25 PST 2008


Erez Zilber wrote:
> Add change_queue_depth handler to scsi_host_template in the
> iSER driver. This handler was added to iscsi_tcp in order to
> solve the problem of queue depth which was too high for some
> targets. It is also applicable for iSER.
> 
> Signed-off-by: Erez Zilber <erezz at voltaire.com>
> ---
>  drivers/infiniband/ulp/iser/iscsi_iser.c |    1 +
>  1 files changed, 1 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/infiniband/ulp/iser/iscsi_iser.c b/drivers/infiniband/ulp/iser/iscsi_iser.c
> index bad8dac..dfa5a45 100644
> --- a/drivers/infiniband/ulp/iser/iscsi_iser.c
> +++ b/drivers/infiniband/ulp/iser/iscsi_iser.c
> @@ -551,6 +551,7 @@ static struct scsi_host_template iscsi_iser_sht = {
>  	.module                 = THIS_MODULE,
>  	.name                   = "iSCSI Initiator over iSER, v." DRV_VER,
>  	.queuecommand           = iscsi_queuecommand,
> +	.change_queue_depth	= iscsi_change_queue_depth,
>  	.can_queue		= ISCSI_DEF_XMIT_CMDS_MAX - 1,
>  	.sg_tablesize           = ISCSI_ISER_SG_TABLESIZE,
>  	.max_sectors		= 1024,

Sorry for the late reply. As you know I was busy with work stuff. This 
looks ok to me.

Signed-off-by: Mike Christie <michaelc at cs.wisc.edu>

One thing you will also want to do is hook iser in the session creation 
command that sets this at creation time. In userspace westore the queue 
depths we want to use for specific targets, and then have the session's 
host cmd_per_lun  use that that value at startup. If in 
iscsi_iser_session_create, you just pass qdepth to iscsi_session_setup 
instead of passing it ISCSI_MAX_CMD_PER_LUN you will be set. I did not 
do that for you because we had the disagreement about the optimal setting.



More information about the general mailing list