On Tue, 2007-05-29 at 15:40 -0600, Moore, Eric wrote:
> On Tuesday, May 22, 2007 3:27 PM, James Bottomley wrote:
> 
> > On Tue, 2007-05-22 at 14:25 -0600, Doug Chapman wrote:
> > > Eric,
> > > 
> > > Sorry to bother you on this again, I realize you are very busy.
> > > 
> > > >From our off-list email and from your comments to Chip Coldwell in
> > > redhat BZ 225177 it sounded like you were prepared to ACK this.  Any
> > > chance you could send your official ACK so this can be committed?
> > > 
> > > much appreciated,
> > 
> > Actually I'd like a little analysis of why first, please Eric.
> > 
> > It seems to me, with the current wrong ordering in the initialisation
> > results in a large queue depth being given to the DVD (which are
> > habitually very low queue depth ... or even untagged beasts).  So does
> > the slowdown result from the fusion accepting N commands for 
> > the DVD and
> > then rejecting N-1 of them resulting in ping pong between the 
> > mid-layer
> > and driver?
> > 
> > If so, we probably want to fix the command throttling in the driver.
> > 
> 
> James - Sorry, for delay, somehow I missed this email.
> 
> I approve the patch that was submitted by Doug Chapman.      Here is the
> reasoning:   The DVD device that Doug is using is either a SCSI_1
> device, or it doesn't support Q-tags.  The problem is the driver is
> setting the Queue depth to 32, when it should of been 1.   With the
> queue depth set larger than one,  this device doesn't work properly.

The device is presumably returning BUSY when you try to send a second
command when it's already processing the first ... that should be
propagated back to the mid-layer causing it to throttle the queue ... it
seems this wasn't happening for some reason to get such a massive
slowdown.  Is this a more generic problem in the fusion or is it a
simple issue only affecting the untagged case? 

> This bug came about when I reorganized some spi functions by moving them
> from mptscsih.c over to mptspi.c.   When I did that, there were some
> flags not set correctly in mptscsih_change_queue_depth.  The function
> that sets these flags is mptspi_setTargetNegoParms.    Prior to
> reorganizing the code, I was calling mptscsi_setTargetNegoParms before I
> set the queue depth, the current code does it after.    If you accept
> this patch, then it sets the flags properly.   

James


-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to