From: Werner Almesberger <wa@almesberger.net>
To: Jamie Lokier <jamie@shareable.org>
Cc: Bryan Henderson <hbryan@us.ibm.com>, Jens Axboe <axboe@suse.de>,
linux-fsdevel@vger.kernel.org
Subject: Re: barriers vs. reads
Date: Wed, 23 Jun 2004 20:23:04 -0300 [thread overview]
Message-ID: <20040623202304.O1325@almesberger.net> (raw)
In-Reply-To: <20040623165351.GE32544@mail.shareable.org>; from jamie@shareable.org on Wed, Jun 23, 2004 at 05:53:51PM +0100
Jamie Lokier wrote:
> This whole thread is asking a simple question: what shall we define
> "I/O write barrier" to mean? Does it force an ordering for reads
> after the barrier which overlap writes before the barrier, or not?
It's always the simple questions that are the hardest to answer ;-)
So far, we seem to have the following rules (at least for
"barrier-only" barriers. Special requests come with their own
barriers, see below):
i) write requests may never cross a barrier that separates
them from other write requests
ii) a read request R and a write request W may change their
order (with respect to each other), unless they overlap
AND are separated by at least one barrier
iii) in all other cases, requests are free to move about
Rule ii) seems a little tricky. Is there actually a means for
user space to send a barrier, e.g. when doing direct IO ? If
not, the I think only user of ii) would be "direct IO" that
comes from unbuffered file system meta-data and such.
> Or even to define two kinds of barrier, if that would be useful.
I can think of three distinct uses of barriers (but there may
be more):
1) ensure integrity involving multiple requests
2) disentangle overlapping requests
3) make sure special requests (power management or such) don't
wander off
2) may merit a distinction. E.g. an elevator that automatically
puts overlapping requests in FIFO order (i.e. Bryan's "ideal"
elevator) could ignore this kind of barriers. Barriers of type
3) restricts the move of anything.
Cheers, Werner
--
_________________________________________________________________________
/ Werner Almesberger, Buenos Aires, Argentina wa@almesberger.net /
/_http://www.almesberger.net/____________________________________________/
next prev parent reply other threads:[~2004-06-23 23:23 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-06-22 3:53 barriers vs. reads Werner Almesberger
2004-06-22 7:39 ` Jens Axboe
2004-06-22 7:50 ` Werner Almesberger
2004-06-22 7:55 ` Jens Axboe
2004-06-22 8:34 ` Werner Almesberger
2004-06-22 10:08 ` Jens Axboe
2004-06-22 11:28 ` Jamie Lokier
2004-06-22 11:32 ` Jens Axboe
2004-06-22 17:12 ` Bryan Henderson
2004-06-22 20:53 ` Jens Axboe
2004-06-23 16:41 ` Bryan Henderson
2004-06-23 16:52 ` Jens Axboe
2004-06-23 16:53 ` Jamie Lokier
2004-06-23 21:08 ` Bryan Henderson
2004-06-23 23:23 ` Werner Almesberger [this message]
2004-06-24 13:43 ` Jamie Lokier
2004-06-24 14:32 ` Christoph Hellwig
2004-06-24 17:05 ` Werner Almesberger
2004-06-22 18:53 ` Werner Almesberger
2004-06-22 19:57 ` Jamie Lokier
2004-06-22 23:13 ` Werner Almesberger
2004-06-22 20:57 ` Jens Axboe
2004-06-22 23:10 ` Werner Almesberger
2004-06-23 0:14 ` Jamie Lokier
2004-06-23 6:27 ` Jens Axboe
2004-06-22 18:45 ` Werner Almesberger
2004-06-22 19:07 ` Guy
-- strict thread matches above, loose matches on Subject: below --
2004-06-24 0:48 Werner Almesberger
2004-06-24 3:39 ` Werner Almesberger
2004-06-24 8:00 ` Herbert Poetzl
2004-06-24 12:16 ` Werner Almesberger
2004-06-24 13:36 ` Jamie Lokier
2004-06-24 17:02 ` Werner Almesberger
2004-06-24 16:39 ` Steve Lord
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=20040623202304.O1325@almesberger.net \
--to=wa@almesberger.net \
--cc=axboe@suse.de \
--cc=hbryan@us.ibm.com \
--cc=jamie@shareable.org \
--cc=linux-fsdevel@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).