From: Rusty Russell <rusty@rustcorp.com.au>
To: Fengguang Wu <wfg@mail.ustc.edu.cn>
Cc: Andrew Morton <akpm@osdl.org>, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 7/7] readahead: basic support of interleaved reads
Date: Sat, 21 Jul 2007 17:24:39 +1000 [thread overview]
Message-ID: <1185002679.6344.30.camel@localhost.localdomain> (raw)
In-Reply-To: <20070721044347.388744012@mail.ustc.edu.cn>
On Sat, 2007-07-21 at 12:43 +0800, Fengguang Wu wrote:
> plain text document attachment (readahead-interleaved-reads.patch)
> This is a simplified version of the pagecache context based readahead.
> It handles the case of multiple threads reading on the same fd and invalidating
> each others' readahead state. It does the trick by scanning the pagecache and
> recovering the current read stream's readahead status.
>
> The algorithm works in a opportunistic way, in that it do not try to detect
> interleaved reads _actively_, which requires a probe into the page cache(which
> means a little more overheads for random reads). It only tries to handle a
> previously started sequential readahead whose state was overwritten by
> another concurrent stream, and it can do this job pretty well.
Hi Fengguang,
This is really clever!
Only one slight complaint: I wonder if "radix_tree_scan_hole" could be
expressed as "radix_tree_extent_size" which return the number of
populated indices up to "max_scan". Returning a length seems more
intuitive to me (and I think gets rid of the wraparound error case?)
Cheers,
Rusty.
next prev parent reply other threads:[~2007-07-21 7:25 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-07-21 4:43 [PATCH 0/7] readahead cleanups and interleaved readahead take 3 Fengguang Wu
2007-07-21 4:43 ` Fengguang Wu
2007-07-21 4:43 ` [PATCH 1/7] readahead: compacting file_ra_state Fengguang Wu
2007-07-21 4:43 ` Fengguang Wu
2007-07-21 4:43 ` [PATCH 2/7] readahead: mmap read-around simplification Fengguang Wu
2007-07-21 4:43 ` Fengguang Wu
2007-07-21 4:43 ` [PATCH 3/7] readahead: combine file_ra_state.prev_index/prev_offset into prev_pos Fengguang Wu
2007-07-21 4:43 ` Fengguang Wu
2007-07-21 4:43 ` [PATCH 4/7] readahead: remove several readahead macros Fengguang Wu
2007-07-21 4:43 ` Fengguang Wu
2007-07-21 4:43 ` [PATCH 5/7] readahead: remove the limit max_sectors_kb imposed on max_readahead_kb Fengguang Wu
2007-07-21 4:43 ` Fengguang Wu
2007-07-21 4:43 ` [PATCH 6/7] radixtree: introduce radix_tree_scan_hole() Fengguang Wu
2007-07-21 4:43 ` Fengguang Wu
2007-07-21 5:48 ` Andrew Morton
2007-07-21 6:36 ` Fengguang Wu
2007-07-21 6:36 ` Fengguang Wu
2007-07-23 7:58 ` Nick Piggin
2007-07-23 8:04 ` Fengguang Wu
2007-07-23 8:04 ` Fengguang Wu
2007-07-23 8:12 ` Fengguang Wu
2007-07-23 8:12 ` Fengguang Wu
2007-07-21 4:43 ` [PATCH 7/7] readahead: basic support of interleaved reads Fengguang Wu
2007-07-21 4:43 ` Fengguang Wu
2007-07-21 7:24 ` Rusty Russell [this message]
2007-07-21 7:57 ` Fengguang Wu
2007-07-21 7:57 ` Fengguang Wu
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=1185002679.6344.30.camel@localhost.localdomain \
--to=rusty@rustcorp.com.au \
--cc=akpm@osdl.org \
--cc=linux-kernel@vger.kernel.org \
--cc=wfg@mail.ustc.edu.cn \
/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.