From: Robert Hancock <hancockrwd@gmail.com>
To: Markus Trippelsdorf <markus@trippelsdorf.de>
Cc: Jeff Garzik <jgarzik@pobox.com>, linux-ide@vger.kernel.org
Subject: Re: libata default FUA support
Date: Tue, 01 Mar 2011 18:54:05 -0600 [thread overview]
Message-ID: <4D6D952D.8030609@gmail.com> (raw)
In-Reply-To: <20110301203313.GA1656@gentoo.trippels.de>
On 03/01/2011 02:33 PM, Markus Trippelsdorf wrote:
> FUA support is currently switched off by default in
> drivers/ata/libata-core.c.
> Given that many modern drives do support FUA now, wouldn't it make sense
> to switch it on without setting a (undocumented) kernel/module
> parameter?
I believe I proposed this some time ago. Essentially all modern drives
should support FUA now, since it's part of the definition of the NCQ
(FPDMA) read/write commands. However, as I recall one of the objections
to enabling it was that since it's just a bit in a command, there's a
possibility that some drives may ignore it by accident or design, which
is less likely with an explicit cache flush command. I'm not very
inclined to agree myself (if you go down that road of pre-emptively
predicting drive implementer stupidity, where do you stop?) but that's
what was raised.
Another complication is that NCQ can be disabled at runtime either by
user request or by error-handling fallback, and not all drives that
support NCQ also support the FUA versions of the non-NCQ read/write
commands, so changes in NCQ enable status may also need to result in
changes in FUA support status on the block device.
I believe the way the block layer uses it, basically it only saves the
overhead of one transaction to the drive. It might be significant on
some workloads (especially on high IOPS drives like SSDs) but it's
likely not a huge deal.
next prev parent reply other threads:[~2011-03-02 0:54 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-01 20:33 libata default FUA support Markus Trippelsdorf
2011-03-02 0:54 ` Robert Hancock [this message]
2011-03-02 7:30 ` Michael Tokarev
2011-03-02 8:58 ` Tejun Heo
2011-03-02 17:29 ` Markus Trippelsdorf
2011-03-03 4:33 ` Robert Hancock
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=4D6D952D.8030609@gmail.com \
--to=hancockrwd@gmail.com \
--cc=jgarzik@pobox.com \
--cc=linux-ide@vger.kernel.org \
--cc=markus@trippelsdorf.de \
/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