From: Jens Axboe <jens.axboe@oracle.com>
To: Hisashi Hifumi <hifumi.hisashi@oss.ntt.co.jp>
Cc: Andrew Morton <akpm@linux-foundation.org>,
linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org
Subject: Re: [PATCH] readahead:add blk_run_backing_dev
Date: Mon, 18 May 2009 19:53:00 +0200 [thread overview]
Message-ID: <20090518175259.GL4140@kernel.dk> (raw)
In-Reply-To: <6.0.0.20.2.20090518183752.0581fdc0@172.19.0.2>
On Mon, May 18 2009, Hisashi Hifumi wrote:
> Hi.
>
> I wrote a patch that adds blk_run_backing_dev on page_cache_async_readahead
> so readahead I/O is unpluged to improve throughput.
>
> Following is the test result with dd.
>
> #dd if=testdir/testfile of=/dev/null bs=16384
>
> -2.6.30-rc6
> 1048576+0 records in
> 1048576+0 records out
> 17179869184 bytes (17 GB) copied, 224.182 seconds, 76.6 MB/s
>
> -2.6.30-rc6-patched
> 1048576+0 records in
> 1048576+0 records out
> 17179869184 bytes (17 GB) copied, 206.465 seconds, 83.2 MB/s
>
> Sequential read performance on a big file was improved.
> Please merge my patch.
>
> Thanks.
>
> Signed-off-by: Hisashi Hifumi <hifumi.hisashi@oss.ntt.co.jp>
>
> diff -Nrup linux-2.6.30-rc6.org/mm/readahead.c linux-2.6.30-rc6.unplug/mm/readahead.c
> --- linux-2.6.30-rc6.org/mm/readahead.c 2009-05-18 10:46:15.000000000 +0900
> +++ linux-2.6.30-rc6.unplug/mm/readahead.c 2009-05-18 13:00:42.000000000 +0900
> @@ -490,5 +490,7 @@ page_cache_async_readahead(struct addres
>
> /* do read-ahead */
> ondemand_readahead(mapping, ra, filp, true, offset, req_size);
> +
> + blk_run_backing_dev(mapping->backing_dev_info, NULL);
> }
> EXPORT_SYMBOL_GPL(page_cache_async_readahead);
I'm surprised this makes much of a difference. It seems correct to me to
NOT unplug the device, since it will get unplugged when someone ends up
actually waiting for a page. And that will then kick off the remaining
IO as well. For this dd case, you'll be hitting lock_page() for the
readahead page really soon, definitely not long enough to warrant such a
big difference in speed.
So, are these numbers 100% reproducible? Could you capture blktrace data
for both with and without the patch, so we can take a closer look at the
generated IO for each case?
--
Jens Axboe
next prev parent reply other threads:[~2009-05-18 17:53 UTC|newest]
Thread overview: 77+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-05-18 9:38 [PATCH] readahead:add blk_run_backing_dev Hisashi Hifumi
2009-05-18 17:53 ` Jens Axboe [this message]
2009-05-19 0:44 ` Hisashi Hifumi
2009-05-19 10:05 ` Hisashi Hifumi
2009-05-20 0:55 ` Hisashi Hifumi
2009-05-20 2:51 ` Wu Fengguang
2009-05-20 2:51 ` Wu Fengguang
2009-05-21 6:01 ` Hisashi Hifumi
2009-05-21 6:01 ` Hisashi Hifumi
2009-05-22 1:05 ` Wu Fengguang
2009-05-22 1:05 ` Wu Fengguang
2009-05-22 1:44 ` Hisashi Hifumi
2009-05-22 1:44 ` Hisashi Hifumi
2009-05-22 2:33 ` Wu Fengguang
2009-05-22 2:33 ` Wu Fengguang
2009-05-26 23:42 ` Andrew Morton
2009-05-26 23:42 ` Andrew Morton
2009-05-27 0:25 ` Hisashi Hifumi
2009-05-27 0:25 ` Hisashi Hifumi
2009-05-27 0:25 ` Hisashi Hifumi
2009-05-27 2:09 ` Wu Fengguang
2009-05-27 2:09 ` Wu Fengguang
2009-05-27 2:21 ` Hisashi Hifumi
2009-05-27 2:21 ` Hisashi Hifumi
2009-05-27 2:35 ` KOSAKI Motohiro
2009-05-27 2:35 ` KOSAKI Motohiro
2009-05-27 2:36 ` Andrew Morton
2009-05-27 2:36 ` Andrew Morton
2009-05-27 2:38 ` Hisashi Hifumi
2009-05-27 2:38 ` Hisashi Hifumi
2009-05-27 3:55 ` Wu Fengguang
2009-05-27 3:55 ` Wu Fengguang
2009-05-27 4:06 ` KOSAKI Motohiro
2009-05-27 4:06 ` KOSAKI Motohiro
2009-05-27 4:36 ` Wu Fengguang
2009-05-27 4:36 ` Wu Fengguang
2009-05-27 6:20 ` Hisashi Hifumi
2009-05-27 6:20 ` Hisashi Hifumi
2009-05-28 1:20 ` Hisashi Hifumi
2009-05-28 1:20 ` Hisashi Hifumi
2009-05-28 2:23 ` KOSAKI Motohiro
2009-05-28 2:23 ` KOSAKI Motohiro
2009-06-01 1:39 ` Hisashi Hifumi
2009-06-01 1:39 ` Hisashi Hifumi
2009-06-01 1:39 ` Hisashi Hifumi
2009-06-01 2:23 ` KOSAKI Motohiro
2009-06-01 2:23 ` KOSAKI Motohiro
2009-05-27 2:36 ` Wu Fengguang
2009-05-27 2:36 ` Wu Fengguang
2009-05-27 2:47 ` Hisashi Hifumi
2009-05-27 2:47 ` Hisashi Hifumi
2009-05-27 2:57 ` Wu Fengguang
2009-05-27 2:57 ` Wu Fengguang
2009-05-27 3:06 ` Hisashi Hifumi
2009-05-27 3:06 ` Hisashi Hifumi
2009-05-27 3:26 ` KOSAKI Motohiro
2009-05-27 3:26 ` KOSAKI Motohiro
2009-06-01 2:37 ` Wu Fengguang
2009-06-01 2:37 ` Wu Fengguang
2009-06-01 2:51 ` Hisashi Hifumi
2009-06-01 2:51 ` Hisashi Hifumi
2009-06-01 3:02 ` Wu Fengguang
2009-06-01 3:02 ` Wu Fengguang
2009-06-01 3:06 ` KOSAKI Motohiro
2009-06-01 3:06 ` KOSAKI Motohiro
2009-06-01 3:07 ` Hisashi Hifumi
2009-06-01 3:07 ` Hisashi Hifumi
2009-06-01 4:30 ` Wu Fengguang
2009-06-01 4:30 ` Wu Fengguang
2009-05-27 2:07 ` Wu Fengguang
2009-05-27 2:07 ` Wu Fengguang
2009-05-20 1:07 ` KOSAKI Motohiro
2009-05-20 1:07 ` KOSAKI Motohiro
2009-05-20 1:43 ` Hisashi Hifumi
2009-05-20 1:43 ` Hisashi Hifumi
2009-05-20 2:52 ` Wu Fengguang
2009-05-20 2: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=20090518175259.GL4140@kernel.dk \
--to=jens.axboe@oracle.com \
--cc=akpm@linux-foundation.org \
--cc=hifumi.hisashi@oss.ntt.co.jp \
--cc=linux-fsdevel@vger.kernel.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.