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
2006-06-25 13:07 [PATCH 0/6] Adaptive readahead updates 3 Wu Fengguang
2006-06-25 13:07 ` Wu Fengguang
2006-06-25 13:07 ` [PATCH 1/6] readahead: context based method - slow start Wu Fengguang
2006-06-25 13:07 ` Wu Fengguang
2006-06-26 2:35 ` Wu Fengguang [this message]
2006-06-26 2:35 ` [updated PATCH " Wu Fengguang
2006-06-25 13:07 ` [PATCH 2/6] readahead: backward prefetching method fix Wu Fengguang
2006-06-25 13:07 ` Wu Fengguang
2006-06-25 13:07 ` [PATCH 3/6] readahead: kconfig option READAHEAD_ALLOW_OVERHEADS Wu Fengguang
2006-06-25 13:07 ` Wu Fengguang
2006-06-25 13:07 ` [PATCH 5/6] readahead: kconfig option READAHEAD_HIT_FEEDBACK Wu Fengguang
2006-06-25 13:07 ` Wu Fengguang
2006-06-25 13:07 ` [PATCH 6/6] readahead: remove the size limit of max_sectors_kb on read_ahead_kb Wu Fengguang
2006-06-25 13:07 ` Wu Fengguang
2006-06-26 1:52 ` [PATCH 0/6] Adaptive readahead updates 3 Wu Fengguang
2006-06-26 1:52 ` 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 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.