All of lore.kernel.org
 help / color / mirror / Atom feed
From: Adriano Silva <adriano_da_silva@yahoo.com.br>
To: Christoph Hellwig <hch@infradead.org>,
	Bcache Linux <linux-bcache@vger.kernel.org>,
	Matthias Ferdinand <bcache@mfedv.net>, Coly Li <colyli@suse.de>,
	Eric Wheeler <bcache@lists.ewheeler.net>,
	Keith Busch <kbusch@kernel.org>
Subject: Re: [RFC] Add sysctl option to drop disk flushes in bcache? (was: Bcache in writes direct with fsync)
Date: Sat, 28 May 2022 12:57:26 +0000 (UTC)	[thread overview]
Message-ID: <24456292.2324073.1653742646974@mail.yahoo.com> (raw)
In-Reply-To: <YpGsKDQ1aAzXfyWl@infradead.org>

Dear Christoph,

> Once you do that, the block layer ignores all flushes and FUA bits, so
> yes it is going to be a lot faster.  But also completely unsafe because
> it does not provide any data durability guarantees.

Sorry, but wouldn't it be the other way around? Or did I really not understand your answer?

Sorry, I don't know anything about kernel code, but wouldn't it be the other way around?

It's just that, I may not be understanding. And it's likely that I'm not, because you understand more about this, I'm new to this subject. I know very little about it, or almost nothing.

But it's just that I've read the opposite about it.

 Isn't "write through" to provide more secure writes?

I also see that "write back" would be meant to be faster. No?

But I understand that when I do a write with direct ioping (-D) and with forced sync (-Y), then an enterprise NVME device with PLP (Power Loss Protection) like mine here should perform very well because in theory, the messages are sent to the hardware by the OS with an instruction for the Hardware to ignore the cache (correct?), but the NVME device will still put it in its local cache and give an immediate response to the OS saying that the data has been written, because he knows his local cache is a safe place for this (in theory).

On the other hand, answering why writing is slow when "write back" is activated is intriguing. Could it be the software logic stack involved to do the Write Back? I don't know.


Em sábado, 28 de maio de 2022 01:59:30 BRT, Christoph Hellwig <hch@infradead.org> escreveu: 





On Fri, May 27, 2022 at 06:52:22PM -0700, Eric Wheeler wrote:

> Adriano who started this thread (cc'ed) reported that setting 
> queue/write_cache to "write back" provides much higher latency on his NVMe 
> than "write through"; I tested a system here and found the same thing.
>
> [...]
>
> Is this expected?


Once you do that, the block layer ignores all flushes and FUA bits, so
yes it is going to be a lot faster.  But also completely unsafe because
it does not provide any data durability guarantees.


  reply	other threads:[~2022-05-28 12:58 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <958894243.922478.1652201375900.ref@mail.yahoo.com>
2022-05-10 16:49 ` Bcache in writes direct with fsync. Are IOPS limited? Adriano Silva
2022-05-11  6:20   ` Matthias Ferdinand
2022-05-11 12:58     ` Adriano Silva
2022-05-11 21:21       ` Matthias Ferdinand
2022-05-18  1:22   ` Eric Wheeler
2022-05-23 14:07     ` Coly Li
2022-05-26 19:15       ` Eric Wheeler
2022-05-27 17:28         ` colyli
2022-05-28  0:58           ` Eric Wheeler
2022-05-23 18:36     ` [RFC] Add sysctl option to drop disk flushes in bcache? (was: Bcache in writes direct with fsync) Eric Wheeler
2022-05-24  5:34       ` Christoph Hellwig
2022-05-24 20:14         ` Eric Wheeler
2022-05-24 20:34           ` Keith Busch
2022-05-24 21:34             ` Eric Wheeler
2022-05-25  5:20               ` Christoph Hellwig
2022-05-25 18:44                 ` Eric Wheeler
2022-05-26  9:06                   ` Christoph Hellwig
2022-05-28  1:52                 ` Eric Wheeler
2022-05-28  3:57                   ` Keith Busch
2022-05-28  4:59                   ` Christoph Hellwig
2022-05-28 12:57                     ` Adriano Silva [this message]
2022-05-29  3:18                       ` Keith Busch
2022-05-31 19:42                         ` Eric Wheeler
2022-05-31 20:22                           ` Keith Busch
2022-05-31 23:04                             ` Eric Wheeler
2022-06-01  0:36                               ` Keith Busch
2022-06-01 18:48                                 ` Eric Wheeler
     [not found]                         ` <2064546094.2440522.1653825057164@mail.yahoo.com>
     [not found]                           ` <YpTKfHHWz27Qugi+@kbusch-mbp.dhcp.thefacebook.com>
2022-06-01 19:27                             ` Adriano Silva
2022-06-01 21:11                               ` Eric Wheeler
2022-06-02  5:26                                 ` Christoph Hellwig
2022-05-25  5:17           ` Christoph Hellwig
     [not found]     ` <681726005.1812841.1653564986700@mail.yahoo.com>
2022-05-26 20:20       ` Bcache in writes direct with fsync. Are IOPS limited? Adriano Silva
2022-05-26 20:28       ` Eric Wheeler
2022-05-27  4:07         ` Adriano Silva
2022-05-28  1:27           ` Eric Wheeler
2022-05-28  7:22             ` Matthias Ferdinand
2022-05-28 12:09               ` Adriano Silva

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=24456292.2324073.1653742646974@mail.yahoo.com \
    --to=adriano_da_silva@yahoo.com.br \
    --cc=bcache@lists.ewheeler.net \
    --cc=bcache@mfedv.net \
    --cc=colyli@suse.de \
    --cc=hch@infradead.org \
    --cc=kbusch@kernel.org \
    --cc=linux-bcache@vger.kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.