From: Wu Fengguang <wfg@mail.ustc.edu.cn>
To: Andrew Morton <akpm@osdl.org>
Cc: linux-kernel@vger.kernel.org
Subject: [updated PATCH 1/6] readahead: context based method - slow start
Date: Mon, 26 Jun 2006 10:35:29 +0800 [thread overview]
Message-ID: <351289316.15645@ustc.edu.cn> (raw)
Message-ID: <20060626023529.GB6120@mail.ustc.edu.cn> (raw)
In-Reply-To: <20060625130921.549904049@localhost.localdomain>
The context method will lead to noticable overhead(readahead miss)
on very sparse random reads.
Having the readahead window to start slowly makes it much better.
But still startup quick if the user prefers sparse readahead.
Benchmarks of reading randomly 100,000 pages on a 1000,000 pages _sparse_ file:
ARA before patch ARA STOCK
================ ================ ================
real 2.779s 2.782s 2.552s 2.606s 2.477s 2.521s
user 1.120s 1.184s 1.133s 1.155s 1.097s 1.159s
sys 1.248s 1.208s 1.093s 1.086s 1.079s 1.064s
Signed-off-by: Wu Fengguang <wfg@mail.ustc.edu.cn>
---
--- linux-2.6.17-mm2.orig/mm/readahead.c
+++ linux-2.6.17-mm2/mm/readahead.c
@@ -1548,6 +1548,12 @@ try_context_based_readahead(struct addre
return -1;
} else if (prev_page || probe_page(mapping, index - 1)) {
ra_index = index;
+ /*
+ * Slow start of readahead window.
+ * It helps avoid most readahead miss on sparse random reads.
+ */
+ if (readahead_hit_rate == 1)
+ ra_min = 1;
} else if (readahead_hit_rate > 1) {
ra_index = find_segtail_backward(mapping, index,
readahead_hit_rate + ra_min);
next prev parent reply other threads:[~2006-06-26 2:35 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20060625130704.464870100@localhost.localdomain>
2006-06-25 13:07 ` [PATCH 0/6] Adaptive readahead updates 3 Wu Fengguang
[not found] ` <20060625130921.549904049@localhost.localdomain>
2006-06-25 13:07 ` [PATCH 1/6] readahead: context based method - slow start Wu Fengguang
[not found] ` <20060626023529.GB6120@mail.ustc.edu.cn>
2006-06-26 2:35 ` Wu Fengguang [this message]
[not found] ` <20060625130921.987235199@localhost.localdomain>
2006-06-25 13:07 ` [PATCH 2/6] readahead: backward prefetching method fix Wu Fengguang
[not found] ` <20060625130922.216691316@localhost.localdomain>
2006-06-25 13:07 ` [PATCH 3/6] readahead: kconfig option READAHEAD_ALLOW_OVERHEADS Wu Fengguang
[not found] ` <20060625130922.816467605@localhost.localdomain>
2006-06-25 13:07 ` [PATCH 5/6] readahead: kconfig option READAHEAD_HIT_FEEDBACK Wu Fengguang
[not found] ` <20060625130923.154258797@localhost.localdomain>
2006-06-25 13:07 ` [PATCH 6/6] readahead: remove the size limit of max_sectors_kb on read_ahead_kb Wu Fengguang
[not found] ` <20060626015256.GA6120@mail.ustc.edu.cn>
2006-06-26 1:52 ` [PATCH 0/6] Adaptive readahead updates 3 Wu Fengguang
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=351289316.15645@ustc.edu.cn \
--to=wfg@mail.ustc.edu.cn \
--cc=akpm@osdl.org \
--cc=linux-kernel@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