Re: [PATCH] Asynchronous scan support for libata

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

 



Jeff Garzik wrote:
> Matthew Wilcox wrote:
>> Can you tell me a bit more about these drivers?  Would it be possible to
>> convert them to one host/many channels, which would give us the exclusion
>> we want?
> 
> As a tangent, I would prefer a more "natural" representation than
> current, where there is a 1-1 correspondence between scsi_host and ATA
> controller instance, and a 1-1 correspondence between SCSI channels and
> ATA ports.

Currently, the biggest problem is the EH thread.  SCSI EH is per host
and entering entering SCSI EH means host-wide quiescence.

> Alas _any_ change to the current setup requires special attention,
> because it is tied intimately into master/slave exclusion and scheduling.
> 
> I occasionally ponder what it would take to create an intelligent
> request scheduling framework that takes into account inflexible hardware
> bottlenecks like simplex (one command per controller, $n ports, $m
> devices), master/slave (one command port, $m devices), NCQ ($n commands
> per port, $m devices), port multipliers with their own bottlenecks, etc.
> 
> I see a lot of common code patterns in this area, but we are all sorta
> doing our own thing at a low level in drivers, because of subtle (and
> not-so-subtle) differences in hardware queueing support.

Amen.  It's slow but things are being shifted from SCSI to block.  EH
can be shifted to block and made per-queue.  Mapping the current SCSI EH
architecture to it will take some work but after that changing ATA host
<-> SCSI host mapping shouldn't be too difficult.

Thanks.

-- 
tejun
-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux