Re: [PATCH] SATA NCQ support

From: Greg Stark
Date: Mon May 30 2005 - 01:23:25 EST



"Eric D. Mudama" <edmudama@xxxxxxxxx> writes:

> If used properly, I don't feel write cache "destroys" data integrity,
> you just need to get your power failure tolerance elsewhere.

That doesn't help if your power failure is caused by a failed UPS or a power
supply or other circuit after said "elsewhere" ... People do expect not to
have a simple power event mean having to do a complete restore of their
database from backups.

> ATA has a limitation of 32 tags, so queued write cache off won't beat
> unqueued write cache on in any modern drive.

People earlier were quoting 30-40% gains with NCQ enabled. I assumed those
were with the same drive in otherwise the same configuration, presumably with
write-caching enabled.

Without any form of command queueing write-caching imposes a severe
performance loss, the question is how much of that loss is erased when NCQ is
present.

> The real reason most SCSI drives do so well uncached is they use huge
> magnets with short, stiff actuators, smaller platters, and they spin
> significantly faster. NCQ certainly helps, but spending more money on
> mechanics makes a significant difference. Pick up a SCSI drive and an
> ATA drive, you'll feel the SCSI weighs seemingly twice as much.

People do take average seek latency and rotational latency into account when
they post numbers. There's no question faster drives are, well, faster.

People actually tend to report that IDE drives are *faster*. Until they're
told they have to disable write-caching on their IDE drives to get a fair
comparison, then the performance is absolutely abysmal. The interesting thing
is that SCSI drives don't seem to take much of a performance hit from having
write-caching disabled while IDE drives do.

--
greg

-
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/