linux-scsi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Erez Zilber <erezz@Voltaire.COM>
To: Pete Wyckoff <pw@osc.edu>, Roland Dreier <rolandd@cisco.com>
Cc: Mike Christie <michaelc@cs.wisc.edu>,
	linux-scsi <linux-scsi@vger.kernel.org>,
	Eli Dorfman <elid@voltaire.com>
Subject: Re: [PATCH 2/3] iscsi iser: increase max_sectors
Date: Mon, 12 May 2008 15:10:26 +0300	[thread overview]
Message-ID: <482833B2.4000208@Voltaire.COM> (raw)
In-Reply-To: <20080507155308.GE9975@osc.edu>

Pete Wyckoff wrote:
> michaelc@cs.wisc.edu wrote on Mon, 05 May 2008 12:49 -0500:
>   
>> Pete Wyckoff wrote:
>>     
>>> iser has no limit on max sectors.  This lets iscsi iser support
>>> large pass through commands just like iscsi TCP.
>>>
>>> Signed-off-by: Pete Wyckoff <pw@osc.edu>
>>> ---
>>>  drivers/infiniband/ulp/iser/iscsi_iser.c |    2 +-
>>>  1 files changed, 1 insertions(+), 1 deletions(-)
>>>
>>> diff --git a/drivers/infiniband/ulp/iser/iscsi_iser.c b/drivers/infiniband/ulp/iser/iscsi_iser.c
>>> index 1b272a6..78f3242 100644
>>> --- a/drivers/infiniband/ulp/iser/iscsi_iser.c
>>> +++ b/drivers/infiniband/ulp/iser/iscsi_iser.c
>>> @@ -557,7 +557,7 @@ static struct scsi_host_template iscsi_iser_sht = {
>>>  	.change_queue_depth	= iscsi_change_queue_depth,
>>>  	.can_queue		= ISCSI_DEF_XMIT_CMDS_MAX - 1,
>>>  	.sg_tablesize           = ISCSI_ISER_SG_TABLESIZE,
>>> -	.max_sectors		= 1024,
>>> +	.max_sectors		= 0xffff,
>>>  	.cmd_per_lun            = ISCSI_MAX_CMD_PER_LUN,
>>>  	.eh_abort_handler       = iscsi_eh_abort,
>>>  	.eh_device_reset_handler= iscsi_eh_device_reset,
>>>       
>> Do we need to modify sg_tablesize and the related preallocations to take 
>> advantage of this? iser sets the sg_tablesize to ISCSI_ISER_SG_TABLESIZE 
>> and disables clustering, scsi-ml/block will only send commands up to 
>> ISCSI_ISER_SG_TABLESIZE * PAGE_SIZE.
>>     
>
> Yes.  I run with another patch to change ISCSI_ISER_SG_TABLESIZE to
> 1 MB / 4kB + 1, allowing up to 1 MB transfers.  (I think that was
> 3/3 way back when.)  That's because iser limits the fmr code like
> this:
>
>         params.max_pages_per_fmr = ISCSI_ISER_SG_TABLESIZE;
>
> The plus 1 handles the case that the 1 MB transfer doesn't start on
> a page boundary.
>
> But you point out that this sg_tablesize setting is also used to
> limit the maximum number of pages when building bios to send to the
> device.  So these numbers should all agree.
>
> rdreier@cisco.com wrote on Mon, 05 May 2008 13:43 -0700:
>   
>>  > This could be problematic because, AFAIK, some HCAs (memfree, I think)
>>  > don't support FMRs of more than 2MB. Roland, am I right?
>>
>> Mem-free HCAs don't support FMRs where the list of pages is bigger than
>> a page itself.  So yes, with 4 KB pages, you get 512 * 4 KB that way.
>>
>> Of course the current iSER driver has much bigger FMR problems, since
>> some adapters don't support FMRs at all...
>>     
>
> And certain current hardware is 2 MB tops anyway, but not all.  Iser
> cannot place a limit on the SCSI queue until it knows on which
> device it will use to communicate.
>
>   

Do you suggest that iSER should get these limits from the HW and set
max_sectors accordingly? I don't know if it's possible. Roland - do the
HCA drivers publish this limitation somehow? If not, maybe they should.


> The goal with these patches is to increase througphut for big
> transfers.
>   

Are you interested in transfers > 2MB?

Erez
> What's the right thing to do then?  Maybe punt to the user.  How
> about a module parameter like SRP, then we calculate the right
> limits for each of these three related settigns:  max_sectors,
> sg_tablesize, max_pages_per_fmr.
>
> Erez, is this something you're interested in figuring out?  I'll be
> offline for a couple of weeks at least.
>   

Currently, we don't need transfers > 2MB. BTW - I will be offline for
more than a couple of weeks  :-) (see my other e-mail in
openfabrics-general). I'm adding Eli Dorfman from Voltaire to the
discussion. He will replace me in iSER related tasks.

Erez


  reply	other threads:[~2008-05-12 12:09 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-02-12 20:52 [PATCH 0/3] iscsi iser limits Pete Wyckoff
2008-02-12 20:54 ` [PATCH 1/3] iscsi iser: remove DMA restrictions Pete Wyckoff
2008-02-12 21:10   ` James Bottomley
2008-02-12 21:46     ` Pete Wyckoff
2008-02-12 21:57       ` James Bottomley
2008-02-13 19:59         ` Pete Wyckoff
2008-02-14 21:10           ` [PATCH 1/3 v2] iscsi iser: remove DMA alignment restriction Pete Wyckoff
2008-05-05 13:19             ` Erez Zilber
2008-04-21 13:51           ` [PATCH 1/3] iscsi iser: remove DMA restrictions Erez Zilber
2008-04-23 13:41             ` [ofa-general] " Erez Zilber
2008-04-23 16:33               ` Mike Christie
2008-04-23 17:16                 ` Mike Christie
2008-04-23 17:43                   ` Mike Christie
2008-02-14 17:56     ` Mike Christie
2008-02-14 18:10       ` James Bottomley
2008-02-14 18:21         ` Mike Christie
2008-02-14 18:34           ` Mike Christie
2008-02-14 19:04             ` Mike Christie
2008-02-12 20:54 ` [PATCH 2/3] iscsi iser: increase max_sectors Pete Wyckoff
2008-05-05 13:36   ` Erez Zilber
2008-05-05 20:43     ` Roland Dreier
2008-05-05 17:49   ` Mike Christie
2008-05-07 15:53     ` Pete Wyckoff
2008-05-12 12:10       ` Erez Zilber [this message]
2008-02-12 20:54 ` [PATCH 3/3] iscsi iser: increase sg_tablesize Pete Wyckoff
2008-03-02 13:56 ` [PATCH 0/3] iscsi iser limits Erez Zilber

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=482833B2.4000208@Voltaire.COM \
    --to=erezz@voltaire.com \
    --cc=elid@voltaire.com \
    --cc=linux-scsi@vger.kernel.org \
    --cc=michaelc@cs.wisc.edu \
    --cc=pw@osc.edu \
    --cc=rolandd@cisco.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).