From: Dave Chinner <david@fromorbit.com>
To: david@lang.hm
Cc: Jamie Lokier <jamie@shareable.org>,
Nick Piggin <nickpiggin@yahoo.com.au>,
gus3 <musicman529@yahoo.com>,
Szabolcs Szakacsits <szaka@ntfs-3g.org>,
Andrew Morton <akpm@linux-foundation.org>,
linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org,
xfs@oss.sgi.com
Subject: Re: XFS vs Elevators (was Re: [PATCH RFC] nilfs2: continuous snapshotting file system)
Date: Wed, 27 Aug 2008 11:20:13 +1000 [thread overview]
Message-ID: <20080827012013.GC5706@disturbed> (raw)
In-Reply-To: <alpine.DEB.1.10.0808252041300.29665@asgard.lang.hm>
On Mon, Aug 25, 2008 at 08:50:14PM -0700, david@lang.hm wrote:
> it sounds as if the various flag definitions have been evolving, would it
> be worthwhile to sep back and try to get the various filesystem folks to
> brainstorm together on what types of hints they would _like_ to see
> supported?
Three types:
1. immediate dispatch - merge first with adjacent requests
then dispatch
2. delayed dispatch - queue for a short while to allow
merging of requests from above
3. bulk data - queue and merge. dispatch is completely
controlled by the elevator
Basically most metadata and log writes would fall into category 2,
which every logbufs/2 log writes or every log force using a category
1 to prevent log I/O from being stalled too long by other I/O.
Data writes from the filesystem would appear as category 3 (read and write)
and are subject to the specific elevator scheduling. That is, things
like the CFQ ionice throttling would work on the bulk data queue,
but not the other queues that the filesystem is using for metadata.
Tagging the I/O as a sync I/O can still be done, but that only
affects category 3 scheduling - category 1 or 2 would do the same
thing whether sync or async....
> it sounds like you are using 'sync' for things where you really should be
> saying 'metadata' (or 'journal contents'), it's happened to work well
> enough in the past, but it's forcing you to keep tweaking the
> filesystems.
Right, because there was no 'metadata' tagging, and 'sync' happened
to do exactly what we needed on all elevators at the time.
> it may be better to try and define things from the
> filesystem point of view and let the elevators do the tweaking.
>
> basicly I'm proposing a complete rethink of the filesyste <-> elevator
> interface.
Yeah, I've been saying that for a while w.r.t. the filesystem/block
layer interfaces, esp. now with discard requests, data integrity,
device alignment information, barriers, etc being exposed by the
layers below the filesystem, but with no interface for filesystems
to be able to access that information...
Cheers,
Dave.
--
Dave Chinner
david@fromorbit.com
next prev parent reply other threads:[~2008-08-27 1:20 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-20 2:45 [PATCH RFC] nilfs2: continuous snapshotting file system Ryusuke Konishi
2008-08-20 7:43 ` Andrew Morton
2008-08-20 8:22 ` Pekka Enberg
2008-08-20 18:47 ` Ryusuke Konishi
2008-08-20 16:13 ` Ryusuke Konishi
2008-08-20 21:25 ` Szabolcs Szakacsits
2008-08-20 21:39 ` Andrew Morton
2008-08-20 21:48 ` Szabolcs Szakacsits
2008-08-21 2:12 ` Dave Chinner
2008-08-21 2:46 ` Szabolcs Szakacsits
2008-08-21 5:15 ` XFS vs Elevators (was Re: [PATCH RFC] nilfs2: continuous snapshotting file system) Dave Chinner
2008-08-21 6:00 ` gus3
2008-08-21 6:14 ` Dave Chinner
2008-08-21 7:00 ` Nick Piggin
2008-08-21 8:53 ` Dave Chinner
2008-08-21 9:33 ` Nick Piggin
2008-08-21 17:08 ` Dave Chinner
2008-08-22 2:29 ` Nick Piggin
2008-08-25 1:59 ` Dave Chinner
2008-08-25 4:32 ` Nick Piggin
2008-08-25 12:01 ` Jamie Lokier
2008-08-26 3:07 ` Dave Chinner
2008-08-26 3:50 ` david
2008-08-27 1:20 ` Dave Chinner [this message]
2008-08-27 21:54 ` david
2008-08-28 1:08 ` Dave Chinner
2008-08-21 14:52 ` Chris Mason
2008-08-21 6:04 ` Dave Chinner
2008-08-21 8:07 ` Aaron Carroll
2008-08-21 8:25 ` Dave Chinner
2008-08-21 11:02 ` Martin Steigerwald
2008-08-21 15:00 ` Martin Steigerwald
2008-08-21 17:10 ` Szabolcs Szakacsits
2008-08-21 17:33 ` Szabolcs Szakacsits
2008-08-22 2:24 ` Dave Chinner
2008-08-22 6:49 ` Martin Steigerwald
2008-08-22 12:44 ` Szabolcs Szakacsits
2008-08-23 12:52 ` Szabolcs Szakacsits
2008-08-21 11:53 ` Matthew Wilcox
2008-08-21 15:56 ` Dave Chinner
2008-08-21 12:51 ` [PATCH RFC] nilfs2: continuous snapshotting file system Chris Mason
2008-08-26 10:16 ` Jörn Engel
2008-08-26 16:54 ` Ryusuke Konishi
2008-08-27 18:13 ` Jörn Engel
2008-08-27 18:19 ` Jörn Engel
2008-08-29 6:29 ` Ryusuke Konishi
2008-08-29 8:40 ` Arnd Bergmann
2008-08-29 10:51 ` konishi.ryusuke
2008-08-29 11:04 ` Jörn Engel
2008-08-29 10:45 ` Jörn Engel
2008-08-29 16:37 ` Ryusuke Konishi
2008-08-29 19:16 ` Jörn Engel
2008-09-01 12:25 ` Ryusuke Konishi
2008-08-20 9:47 ` Andi Kleen
2008-08-21 4:57 ` Ryusuke Konishi
-- strict thread matches above, loose matches on Subject: below --
2008-08-21 11:05 XFS vs Elevators (was Re: [PATCH RFC] nilfs2: continuous snapshotting file system) Martin Knoblauch
2008-08-21 15:59 ` Dave Chinner
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=20080827012013.GC5706@disturbed \
--to=david@fromorbit.com \
--cc=akpm@linux-foundation.org \
--cc=david@lang.hm \
--cc=jamie@shareable.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=musicman529@yahoo.com \
--cc=nickpiggin@yahoo.com.au \
--cc=szaka@ntfs-3g.org \
--cc=xfs@oss.sgi.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox