All of lore.kernel.org
 help / color / mirror / Atom feed
From: James Smart <James.Smart@Emulex.Com>
To: Mike Christie <michaelc@cs.wisc.edu>
Cc: "linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
	Hannes Reinecke <hare@novell.com>
Subject: Re: [PATCH] scsi : set target can_queue from devinfo flags
Date: Wed, 24 Sep 2008 15:38:46 -0400	[thread overview]
Message-ID: <48DA9746.9090003@emulex.com> (raw)
In-Reply-To: <48DA9163.9070209@cs.wisc.edu>

This sounds reasonable, but I wouldn't eliminate this can_queue limit. 
Why ? Implementing backoffs/ramp ups are ok - but to invoke the 
backoff/stop the rampup, you must encounter QUEUE_FULLs, which can be 
costly to the target.  Additionally, even if you've leveled off, and 
perhaps are running slightly below where QUEUE_FULLs occur, and even if 
that is less than the arrays maximum value - it may still not be the 
"optimum max" for the target. E.g. max may be 500, but if you are in the 
range of 450-499, the performance is actually lower than if running 449 
or lower.  Thus, I'd keep this target cap, even with any back offs 
(which may be needed anyway for multi-initiator environments) so that an
admin (or vendor via devinfo) can set it's optimum cap.

-- james s

Mike Christie wrote:
> James Smart wrote:
>> This patch, discussed in the initial thread on target can_queue limits
>> (see  http://marc.info/?l=linux-scsi&m=120944296225094&w=2 )
>> allows the target can_queue limit to be obtained from the device list based on
>> Inquiry data obtained during scan.
>>
>> I have pinged several of the array vendors to supply target-port level values
>> for their arrays. Hopefully, we will see them populate the device list with some
>> real values shortly.
>>
>> This patch was cut against scsi-misc-2.6, and depends on Mike Christies patches
>> contained in the original thread.
>>
>> -- james s
>>
>> PS: This sure desires the promoting of the starget in sysfs, with an attribute
>>     for the can_queue value.
>>
> 
> I was thinking that for the QUEUE_FULL ramp back up problem, I would do
> a userspace daemon that after some algorithm decided when it was time,
> we could start increasing the queue depth.
> 
> And then I was thinking that because it needed to know when devices were
> getting QUEUE_FULLs so it could figure out when to ramp back up, it
> could be based off of a userspace daemon Hannes was talking about that
> would pass scsi info/errors to userspace so it could be handled there
> (this was originally to handle the sense data that indicated that the
> lun data changed and so we were going to kick off a scan and delete old
> deices from userspace).
> 
> Then I was thinking that I could extend the daemon to handle the problem
> that this patch was handling too. The daemon would listen for starget or
> port kobject addition events. Then it would do a inquiry to get the
> target info and match it with some table, then it could write to a
> straget->can_queue sysfs file to set the can_queue value.
> 
> What do you think? Would userspace be a ok place to put all this.
> Hannes, had you started on any of the userspace or kernel infrastructure
> for passing sense to userspace that I could work off of?
> 

  parent reply	other threads:[~2008-09-24 19:46 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-05-13 17:45 [PATCH] scsi : set target can_queue from devinfo flags James Smart
2008-05-14  6:34 ` Hannes Reinecke
2008-05-14 14:39   ` James Smart
2008-05-14 15:01     ` Hannes Reinecke
2008-05-14 19:38 ` James Bottomley
2008-05-14 21:50   ` James Smart
2008-05-15  1:21     ` James Smart
2008-09-24 19:13 ` Mike Christie
2008-09-24 19:17   ` Mike Christie
2008-09-25 18:40     ` Mike Christie
2008-09-25 19:03       ` James Smart
2008-09-24 19:38   ` James Smart [this message]
2008-09-25 18:15     ` Mike Christie
2008-09-26  7:46       ` Hannes Reinecke

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=48DA9746.9090003@emulex.com \
    --to=james.smart@emulex.com \
    --cc=hare@novell.com \
    --cc=linux-scsi@vger.kernel.org \
    --cc=michaelc@cs.wisc.edu \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.