Linux ATA/IDE development
 help / color / mirror / Atom feed
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.

  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