tech-kern archive

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

Re: ata(4) and NCQ



On Tue, Apr 19, 2011 at 07:57:56PM +0000, Jonathan A. Kollasch wrote:
> Hi,
> 
> I'm (again) considering adding NCQ support to the ATA subsystem.
> 
> I've gained some experience with out of order transaction completion
> in a virtio block driver I've worked on, however that was rather
> simplistic compared to shoehorning it into existing and somewhat
> dissimilar code.
> 
> I am rather bewildered by the prospects of redesigning the whole ATA
> subsystem.  Basically, I am looking for ideas on a proper design of
> NCQ support, so any pointers on where to start would be appreciated.

The ATA layer doesn't yet support multiple outstanding commands, but
some provision for this is already there: for example, wd_softc has a
openings member, we have a queue of commands. What's missing is tag handling
in the wd driver; idea can probably be borrowed from the scsipi layer
(scsipi_{get,put}_tag()).
The code is so small I'm not sure it's worth trying to share it.

-- 
Manuel Bouyer <bouyer%antioche.eu.org@localhost>
     NetBSD: 26 ans d'experience feront toujours la difference
--


Home | Main Index | Thread Index | Old Index