Re: [PATCH 1/1] ipr: Fix for adapter shutdown issue

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Jun 15 2005, James Bottomley wrote:
> On Wed, 2005-06-15 at 10:05 -0700, Patrick Mansfield wrote:
> > First in scsi_alloc_queue, the flush/sync code is only used if we don't
> > have ordered tags, and if the adapter driver explicitly allows it
> > (shost->order_flush).
> > 
> > Plus we clear order_flush in scsi_host_alloc if can_queue > 1.
> > 
> > So ipr will never get those sync cache commands, correct?
> 
> Actually, yes.  I thought Jens turned it on globally, but apparently
> it's only set for the sata controllers.

Yeah, I figured most other scsi controllers supported TCQ...

> the can_queue check is a bit mysterious since non TCQ devices should
> have can_queue == 2 (so they have one command executing and one command
> ready to roll).

But that will cause the mid layer to invoke ->queuecommand() when you
already have one command queued, thus the driver needs to check if it
really can queue one more. I greatly prefer the driver setting the exact
depth instead. If you want to have the next command pre-setup, you
should do so in the mid layer.

> > And we default to QUEUE_ORDERED_NONE (0) if ordered_tag and ordered_flush
> > are not set.
> > 
> > But I can't find any where that we set ordered_tag at all, am I missing
> > something??? Let alone in ipr.
> 
> I think that was also added by the barrier patch set. Although it's well
> known what the difficulties of using ordered tag queueing to implement
> barriers are:
> 
> 1) Race in queuecommand() where barrier gets BUSY or QUEUE_FULL but next
> command is accepted before we see this.
> 2) Error handling is not robust to ordering.
> 3) Qerr bit of the control mode page needs to be set correctly.

Some work still left to fully supported barriers with tags, Tejun is
making great progress though.

-- 
Jens Axboe

-
: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux