From: Jens Axboe <jens.axboe@oracle.com>
To: Nick Piggin <nickpiggin@yahoo.com.au>
Cc: linux-kernel@vger.kernel.org, chris.mason@oracle.com,
linux-fsdevel@vger.kernel.org
Subject: Re: [PATCH][RFC] fast file mapping for loop
Date: Thu, 10 Jan 2008 09:34:46 +0100 [thread overview]
Message-ID: <20080110083446.GQ6258@kernel.dk> (raw)
In-Reply-To: <200801101242.25671.nickpiggin@yahoo.com.au>
On Thu, Jan 10 2008, Nick Piggin wrote:
> On Wednesday 09 January 2008 19:52, Jens Axboe wrote:
>
> > So how does it work? Instead of punting IO to a thread and passing it
> > through the page cache, we instead attempt to send the IO directly to the
> > filesystem block that it maps to.
>
> You told Christoph that just using direct-IO from kernel still doesn't
> give you the required behaviour... What about queueing the IO directly
> *and* using direct-IO? I guess it still has to go through the underlying
> filesystem, but that's probably a good thing.
If it was O_DIRECT and aio, then we would be close.
> > loop maintains a prio tree of known
> > extents in the file (populated lazily on demand, as needed).
>
> Just a quick question (I haven't looked closely at the code): how come
> you are using a prio tree for extents? I don't think they could be
> overlapping?
Because I'm really lazy - the core of this was basically first written
as a quick hack and then I always go shopping for reusable data
structures. prio trees fit the bill nicely, they described extents and
allowed loopup with a key anywhere in that extent. You are right in that
I don't need the overlap handling at all, and Chris already tried to
talk me into reusing his btrfs extent code :-)
So I may just do the latter, turning it into a lib/extent-map.c in the
longer run. My first priority was just having something that worked so I
could test it. At the end of the day, not a single soul would ever
notice if the prio tree ended up being slightly slower than a custom
solution.
--
Jens Axboe
next prev parent reply other threads:[~2008-01-10 8:35 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-09 8:52 [PATCH][RFC] fast file mapping for loop Jens Axboe
2008-01-09 9:31 ` Christoph Hellwig
2008-01-09 9:43 ` Jens Axboe
2008-01-09 11:00 ` Chris Mason
2008-01-09 15:34 ` Andi Kleen
2008-01-10 8:43 ` Jens Axboe
2008-01-09 23:16 ` Alasdair G Kergon
2008-01-09 23:16 ` Alasdair G Kergon
2008-01-10 8:31 ` Jens Axboe
2008-01-10 8:42 ` Jens Axboe
2008-01-11 7:39 ` Mikulas Patocka
2008-01-11 7:58 ` Jens Axboe
2008-01-10 12:47 ` Chris Mason
2008-01-10 12:57 ` Jens Axboe
2008-01-10 23:01 ` Neil Brown
2008-01-11 14:21 ` Chris Mason
2008-01-10 1:42 ` Nick Piggin
2008-01-10 8:34 ` Jens Axboe [this message]
2008-01-10 8:37 ` Christoph Hellwig
2008-01-10 8:44 ` Jens Axboe
2008-01-10 8:54 ` Christoph Hellwig
2008-01-10 9:01 ` Jens Axboe
2008-01-10 12:53 ` Chris Mason
2008-01-10 13:03 ` Jens Axboe
2008-01-10 13:46 ` Chris Mason
2008-01-10 9:37 ` Peter Zijlstra
2008-01-10 9:49 ` Jens Axboe
2008-01-10 9:52 ` Peter Zijlstra
2008-01-10 10:02 ` Jens Axboe
2008-01-10 10:20 ` Peter Zijlstra
2008-01-11 1:25 ` Bill Davidsen
2008-01-11 18:17 ` Daniel Phillips
2008-01-11 18:23 ` Jens Axboe
2008-01-14 17:10 ` Chris Mason
2008-01-14 17:54 ` Jens Axboe
2008-01-15 9:25 ` Jens Axboe
2008-01-15 9:36 ` Jens Axboe
2008-01-15 10:07 ` Jens Axboe
2008-01-15 14:04 ` Chris Mason
-- strict thread matches above, loose matches on Subject: below --
2008-01-09 23:43 devzero
2008-01-09 23:53 ` Alasdair G Kergon
2008-01-09 23:53 ` Alasdair G Kergon
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=20080110083446.GQ6258@kernel.dk \
--to=jens.axboe@oracle.com \
--cc=chris.mason@oracle.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nickpiggin@yahoo.com.au \
/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.