Re: [PATCH] SATA NCQ support

From: Jens Axboe
Date: Fri May 27 2005 - 08:55:22 EST



(please CC the folks in the thread!)

On Fri, May 27 2005, Matthias Andree wrote:
> On Fri, 27 May 2005, Jens Axboe wrote:
>
> > Update the patch, it's against bleeding edge git (applies to 2.6.12-rc5
> > as well). Changes:
> >
> > - (libata) Change to SCSI change_queue_depth API, kill current hack.
> >
> > - (ahci) Move SActive bit set to ahci_qc_issue() where it belongs.
>
> OK, so this is for AHCI. What are the options for people whose
> mainboards aren't blessed with AHCI, but use for instance VIA or older
> Promise chips? Buy new hardware? Or wait until someone comes up with an
> implementation?

NCQ requires hardware support from both the controller and hard drive,
you can view Jeff's libata status page for which controllers support
NCQ. via do not, some newer promise do iirc. Some siimage and qstor
support it as well.

Modifying a sata driver to support NCQ should be pretty trivial,
provided the hardware supports it (and docs are available, AHCI is
completely open).

> Can this queueing be emulated by software (libata or the libata chipset
> driver) or would such be mentioned in Jeff's list as "host-based
> queueing"?

Legacy queueing doesn't require support in the controller, however it's
not worth the effort to spend time on that. drivers/ide already had
support for that some time ago, it was ripped out again because it
sucked. IMHO, the only queueing worth supporting is NCQ. Queueing only
at the host level will not buy you anything.

--
Jens Axboe

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/