From: Ric Wheeler <rwheeler@redhat.com>
To: Howard Chu <hyc@symas.com>, ceph-devel@vger.kernel.org
Subject: Re: newstore direction
Date: Fri, 23 Oct 2015 07:47:53 -0400 [thread overview]
Message-ID: <562A1E69.2050704@redhat.com> (raw)
In-Reply-To: <562A14D3.4070509@redhat.com>
On 10/23/2015 07:06 AM, Ric Wheeler wrote:
> On 10/23/2015 02:21 AM, Howard Chu wrote:
>>> Normally, best practice is to use batching to avoid paying worst case latency
>>> >when you do a synchronous IO. Write a batch of files or appends without
>> fsync,
>>> >then go back and fsync and you will pay that latency once (not per file/op).
>> If filesystems would support ordered writes you wouldn't need to fsync at
>> all. Just spit out a stream of writes and declare that batch N must be
>> written before batch N+1. (Note that this is not identical to "write
>> barriers", which imposed the same latencies as fsync by blocking all I/Os at
>> a barrier boundary. Ordered writes may be freely interleaved with un-ordered
>> writes, so normal I/O traffic can proceed unhindered. Their ordering is only
>> enforced wrt other ordered writes.)
>>
>> A bit of a shame that Linux's SCSI drivers support Ordering attributes but
>> nothing above that layer makes use of it.
>
> I think that if the stream on either side of the barrier is large enough,
> using ordered tags (SCSI speak) versus doing stream1, fsync(), stream2, should
> have the same performance.
>
> Not clear to me if we could do away with an fsync to trigger a cache flush
> here either - do SCSI ordered tags require that the writes be acknowledged
> only when durable, or can the device ack them once the target has them
> (including in a volatile write cache)?
>
> Ric
>
>
One other note, the file & storage kernel people discussed using ordering years
ago. One of the issues is that the devices themselves need to support. While
S-ATA devices are portrayed as SCSI in the kernel, ATA does not (and still does
not as far as I know?) support ordered tags.
Regards,
Ric
next prev parent reply other threads:[~2015-10-23 11:47 UTC|newest]
Thread overview: 71+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-19 19:49 newstore direction Sage Weil
2015-10-19 20:22 ` Robert LeBlanc
2015-10-19 20:30 ` Somnath Roy
2015-10-19 20:54 ` Sage Weil
2015-10-19 22:21 ` James (Fei) Liu-SSI
2015-10-20 2:24 ` Chen, Xiaoxi
2015-10-20 12:30 ` Sage Weil
2015-10-20 13:19 ` Mark Nelson
2015-10-20 17:04 ` kernel neophyte
2015-10-21 10:06 ` Allen Samuels
2015-10-21 13:35 ` Mark Nelson
2015-10-21 16:10 ` Chen, Xiaoxi
2015-10-22 1:09 ` Allen Samuels
2015-10-20 2:32 ` Varada Kari
2015-10-20 2:40 ` Chen, Xiaoxi
2015-10-20 12:34 ` Sage Weil
2015-10-20 20:18 ` Martin Millnert
2015-10-20 20:32 ` James (Fei) Liu-SSI
2015-10-20 20:39 ` James (Fei) Liu-SSI
2015-10-20 21:20 ` Sage Weil
2015-10-19 21:18 ` Wido den Hollander
2015-10-19 22:40 ` Varada Kari
2015-10-20 0:48 ` John Spray
2015-10-20 20:00 ` Sage Weil
2015-10-20 20:36 ` Gregory Farnum
2015-10-20 21:47 ` Sage Weil
2015-10-20 22:23 ` Ric Wheeler
2015-10-21 13:32 ` Sage Weil
2015-10-21 13:50 ` Ric Wheeler
2015-10-23 6:21 ` Howard Chu
2015-10-23 11:06 ` Ric Wheeler
2015-10-23 11:47 ` Ric Wheeler [this message]
2015-10-23 14:59 ` Howard Chu
2015-10-23 16:37 ` Ric Wheeler
2015-10-23 18:59 ` Gregory Farnum
2015-10-23 21:23 ` Howard Chu
2015-10-20 20:42 ` Matt Benjamin
2015-10-22 12:32 ` Milosz Tanski
2015-10-23 3:16 ` Howard Chu
2015-10-23 13:27 ` Milosz Tanski
2015-10-20 2:08 ` Haomai Wang
2015-10-20 12:25 ` Sage Weil
2015-10-20 7:06 ` Dałek, Piotr
2015-10-20 18:31 ` Ric Wheeler
2015-10-20 19:44 ` Sage Weil
2015-10-20 21:43 ` Ric Wheeler
2015-10-20 19:44 ` Yehuda Sadeh-Weinraub
2015-10-21 8:22 ` Orit Wasserman
2015-10-21 11:18 ` Ric Wheeler
2015-10-21 17:30 ` Sage Weil
2015-10-22 8:31 ` Christoph Hellwig
2015-10-22 12:50 ` Sage Weil
2015-10-22 17:42 ` James (Fei) Liu-SSI
2015-10-22 23:42 ` Samuel Just
2015-10-23 0:10 ` Samuel Just
2015-10-23 1:26 ` Allen Samuels
2015-10-23 2:06 ` Ric Wheeler
2015-10-21 10:06 ` Allen Samuels
2015-10-21 11:24 ` Ric Wheeler
2015-10-21 14:14 ` Mark Nelson
2015-10-21 15:51 ` Ric Wheeler
2015-10-21 19:37 ` Mark Nelson
2015-10-21 21:20 ` Martin Millnert
2015-10-22 2:12 ` Allen Samuels
2015-10-22 8:51 ` Orit Wasserman
2015-10-22 0:53 ` Allen Samuels
2015-10-22 1:16 ` Ric Wheeler
2015-10-22 1:22 ` Allen Samuels
2015-10-23 2:10 ` Ric Wheeler
2015-10-21 13:44 ` Mark Nelson
2015-10-22 1:39 ` Allen Samuels
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=562A1E69.2050704@redhat.com \
--to=rwheeler@redhat.com \
--cc=ceph-devel@vger.kernel.org \
--cc=hyc@symas.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 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.