Re: [RFC][PATCH] libata: enable SATA disk fua detection on default

From: Bernd Schubert
Date: Wed May 09 2012 - 09:21:05 EST


On 05/09/2012 02:48 PM, Zheng Liu wrote:
On Wed, May 09, 2012 at 07:12:43AM -0400, Christoph Hellwig wrote:
On Wed, May 09, 2012 at 05:30:16PM +0800, Zheng Liu wrote:
IMHO, FUA provides a solution that we can get better performance in write
cache mode when we do many flush operations. If I set the disk to write
through mode, I won't get this benefit. Am I missing something?

If you set the disk to write through mode you never have to flush the
cache. So as soonas your number of flushes gets close to the number of
writes it tends to be a clear win - for ATA the tradeoff is even more in
favour of write through because the flush command can't be queued yetin
commonly available standards versions. So if you have a workload that
basically needs to flush out every write you win - if you have workloads
where you have a lot more writes than cache flushes write back mode
wins.

Thanks for your explanation. It seems that there still has a problem.
If I set the disk to write through mode, I need to modify my application
to remove all of flush/sync operations. It is unacceptable for us.

Why? You still need to flush the linux page cache. Just the disk cache does not need to be flushed anymore. So changing the application would be the wrong thing to do.


Cheers,
Bernd
--
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/