Re: [PATCH] speed up SATA

Jamie Lokier
2004-04-02T16:16:54Z

Jeremy Higdon wrote:
> > This is what I mean: turn off write cacheing, and performance on PATA
> > drops because of the serialisation and lost inter-command time.
>
> Since you have to write the sectors in order (well, you don't have
> to, but the drives all do this), you lose a rev between each write
> when you don't queue commands or have write cacheing.

I don't see how the driver can write the sectors out of order, if
there is no TCQ (we're talking PATA) and every write must be committed
before it's acknowledged (write cache disabled).

> > With TCQ-on-write, you can turn off write cacheing and in theory
> > performance doesn't have to drop, is that right?
>
> Correct. I have proven this to my satisfaction.

Are you refuting the following assertion by Eric D. Mudama's, based on
your measurements? In other words, are ATA's 32 TCQ slots enough to
eliminate the performance advantage of write cacheing?

Eric D. Mudama <edmudama@mail.bounceswoosh.org> wrote:
> However, cached writes (queued or unqueued), especially small ones,
> will have WAY higher ops/sec. ATA TCQ is limited to 32 choices for
> the next best operation, but an 8MB buffer doing 4K random-ops could
> potentially have ~2000 choices for the next thing to do. (assuming
> perfect cache granularity, etc, etc)
>
> At 32 choices, the seek and rotate are still somewhat significant,
> though way better than unqueued. With 2000 things to choose from, the
> drive is never, ever idle. Seek, land just-in-time, read/write,
> rinse/repeat.

Thanks,
-- Jamie