Re: 2.5.69, IDE TCQ can't be enabled

Jeff Garzik (jgarzik@pobox.com)
Mon, 12 May 2003 15:35:09 -0400


On Mon, May 12, 2003 at 01:19:36PM -0600, Mudama, Eric wrote:
> >You are ignoring the host side of things. PATA TCQ is basically
> >unsupportable without some hardware support (auto-poll). It's my
> >understanding that all SATA controllers do that.
>
> The drive is always supposed to generate an interrupt when it sets the
> service bit indicating it is ready to receive a service command.
>
> The release interrupt tells the host the drive is doing a bus release
> following a queued data command.
>
> The service interrupt tells you you're going DRQ after receiving the service
> command.

Most Linux people with TCQ drives seem to have Hitachi (nee IBM)
ones AFAICS. These do not have a service interrupt (or at least,
do not report such)

They do have the release interrupt.

> Maybe there are drives out there that don't support the configuration of
> these interrupts... if that is the case, TCQ will never work "well" with
> them since you'll need to poll on timer ticks or something, resulting in a
> huge performance loss.

yep :)

> >Then there's the debate of whether TCQ is worth it at all, in general. I
> >feel that a few tags just to minimize the time spent when ending a
> >request to starting a new one is nice.
>
> TCQ shouldn't benefit writes significantly from a performance perspective if
> the drive is reasonably smart. TCQ *will* have a huge performance
> improvement for random reads since the drive can order responses based on
> minimal rotational latency.

You hit the nail on the head.

With the host interface limitation of a single scatterlist
particularly, writes do not benefit very much at all. However,
since reads can be queued and buffered internally in the drive,
TCQ will definitely show benefits.

Coming from an OS perspective, I think we really want to be able to
queue up a bunch of scatterlists, like the new AHCI spec does.

> >> Personally I'd like to see the option stay in there as experimental, it
> >> helps us drive folks test stuff when we can just flip an option off/on to
> >> get that functionality.
> >
> >I agree, besides it just needs a bit of fixing, can't be much.
>
> I'll do what I can to help in my spare time.

Great! Your knowledge and experience is much appreciated.

Regards,

Jeff

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