From: Jeff Garzik <jeff@garzik.org>
To: Mark Rustad <mrustad@gmail.com>
Cc: Justin Piszcz <jpiszcz@lucidpixels.com>,
linux-kernel@vger.kernel.org,
IDE/ATA development list <linux-ide@vger.kernel.org>
Subject: Re: Why is NCQ enabled by default by libata? (2.6.20)
Date: Tue, 27 Mar 2007 14:38:50 -0400 [thread overview]
Message-ID: <460964BA.8090101@garzik.org> (raw)
In-Reply-To: <ACBD2F44-03C7-49BE-9A2F-ABF7078BCC5E@gmail.com>
Mark Rustad wrote:
> reorder any queued operations. Of course if you really care about your
> data, you don't really want to turn write cache on.
That's a gross exaggeration. FLUSH CACHE and FUA both ensure data
integrity as well.
Turning write cache off has always been a performance-killing action on ATA.
> Also the controller used can have unfortunate interactions. For example
> the Adaptec SAS controller firmware will never issue more than two
> queued commands to a SATA drive (even though the firmware will happily
> accept more from the driver), so even if an attached drive is capable of
> reordering queued commands, its performance is seriously crippled by not
> getting more commands queued up. In addition, some drive firmware seems
> to try to bunch up queued command completions which interacts very badly
> with a controller that queues up so few commands. In this case turning
> NCQ off performs better because the drive knows it can't hold off
> completions to reduce interrupt load on the host – a good idea gone
> totally wrong when used with the Adaptec controller.
All of that can be fixed with an Adaptec firmware upgrade, so not our
problem here, and not a reason to disable NCQ in libata core.
> Today SATA NCQ seems to be an area where few combinations work well. It
> seems so bad to me that a whitelist might be better than a blacklist.
> That is probably overstating it, but NCQ performance is certainly a big
> problem.
Real world testing disagrees with you. NCQ has been enabled for a while
now. We would have screaming hordes of users if the majority of
configurations were problematic.
Jeff
next prev parent reply other threads:[~2007-03-27 18:38 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <Pine.LNX.4.64.0703241232580.11608@p34.internal.lan>
2007-03-27 5:59 ` Why is NCQ enabled by default by libata? (2.6.20) Jeff Garzik
2007-03-27 14:26 ` Mark Lord
2007-03-27 18:18 ` Mark Rustad
2007-03-27 18:38 ` Jeff Garzik [this message]
2007-03-27 22:12 ` Mark Rustad
2007-03-31 12:55 ` Ric Wheeler
2007-03-27 16:16 linux
2007-03-27 16:25 ` Justin Piszcz
2007-03-27 16:41 ` linux
2007-03-27 16:44 ` Justin Piszcz
2007-03-27 16:58 ` linux
2007-03-27 17:03 ` Justin Piszcz
2007-03-28 14:42 ` Phillip Susi
2007-03-28 14:48 ` Jeff Garzik
2007-03-28 15:22 ` Andy Warner
2007-03-29 17:28 ` Phillip Susi
2007-03-29 18:40 ` linux
2007-03-29 18:51 ` Jeff Garzik
2007-03-29 21:35 ` Alan Cox
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=460964BA.8090101@garzik.org \
--to=jeff@garzik.org \
--cc=jpiszcz@lucidpixels.com \
--cc=linux-ide@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mrustad@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).