From: Wu Fengguang <fengguang.wu@intel.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: "hifumi.hisashi@oss.ntt.co.jp" <hifumi.hisashi@oss.ntt.co.jp>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>,
"kosaki.motohiro@jp.fujitsu.com" <kosaki.motohiro@jp.fujitsu.com>,
"linux-mm@kvack.org" <linux-mm@kvack.org>,
"jens.axboe@oracle.com" <jens.axboe@oracle.com>
Subject: Re: [PATCH] readahead:add blk_run_backing_dev
Date: Wed, 27 May 2009 10:07:30 +0800 [thread overview]
Message-ID: <20090527020730.GA17658@localhost> (raw)
In-Reply-To: <20090526164252.0741b392.akpm@linux-foundation.org>
On Wed, May 27, 2009 at 07:42:52AM +0800, Andrew Morton wrote:
> On Fri, 22 May 2009 10:33:23 +0800
> Wu Fengguang <fengguang.wu@intel.com> wrote:
>
> > > I tested above patch, and I got same performance number.
> > > I wonder why if (PageUptodate(page)) check is there...
> >
> > Thanks! This is an interesting micro timing behavior that
> > demands some research work. The above check is to confirm if it's
> > the PageUptodate() case that makes the difference. So why that case
> > happens so frequently so as to impact the performance? Will it also
> > happen in NFS?
> >
> > The problem is readahead IO pipeline is not running smoothly, which is
> > undesirable and not well understood for now.
>
> The patch causes a remarkably large performance increase. A 9%
> reduction in time for a linear read? I'd be surprised if the workload
> even consumed 9% of a CPU, so where on earth has the kernel gone to?
>
> Have you been able to reproduce this in your testing?
No I cannot reproduce it on raw partition and ext4fs.
The commands I run:
# echo 1 > /proc/sys/vm/drop_caches
# dd if=/dev/sda1 of=/dev/null bs=16384 count=100000 # sda1 is not mounted
The results are almost identical:
before:
1638400000 bytes (1.6 GB) copied, 31.3073 s, 52.3 MB/s
1638400000 bytes (1.6 GB) copied, 31.3393 s, 52.3 MB/s
after:
1638400000 bytes (1.6 GB) copied, 31.3216 s, 52.3 MB/s
1638400000 bytes (1.6 GB) copied, 31.3762 s, 52.2 MB/s
My kernel is
Linux hp 2.6.30-rc6 #281 SMP Wed May 27 09:32:37 CST 2009 x86_64 GNU/Linux
The readahead size is the default one:
# blockdev --getra /dev/sda
256
I tried another ext4 directory with many ~100MB files(vmlinux-2.6.*) in it:
# time tar cf - /hp/boot | cat > /dev/null
before:
tar cf - /hp/boot 0.22s user 5.63s system 21% cpu 26.750 total
tar cf - /hp/boot 0.26s user 5.53s system 21% cpu 26.620 total
after:
tar cf - /hp/boot 0.18s user 5.57s system 21% cpu 26.719 total
tar cf - /hp/boot 0.22s user 5.32s system 21% cpu 26.321 total
Another round with 1MB readahead size:
before:
tar cf - /hp/boot 0.24s user 4.70s system 19% cpu 25.689 total
tar cf - /hp/boot 0.22s user 4.99s system 20% cpu 25.634 total
after:
tar cf - /hp/boot 0.18s user 4.89s system 19% cpu 25.599 total
tar cf - /hp/boot 0.18s user 4.97s system 20% cpu 25.645 total
Thanks,
Fengguang
WARNING: multiple messages have this Message-ID (diff)
From: Wu Fengguang <fengguang.wu@intel.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: "hifumi.hisashi@oss.ntt.co.jp" <hifumi.hisashi@oss.ntt.co.jp>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>,
"kosaki.motohiro@jp.fujitsu.com" <kosaki.motohiro@jp.fujitsu.com>,
"linux-mm@kvack.org" <linux-mm@kvack.org>,
"jens.axboe@oracle.com" <jens.axboe@oracle.com>
Subject: Re: [PATCH] readahead:add blk_run_backing_dev
Date: Wed, 27 May 2009 10:07:30 +0800 [thread overview]
Message-ID: <20090527020730.GA17658@localhost> (raw)
In-Reply-To: <20090526164252.0741b392.akpm@linux-foundation.org>
On Wed, May 27, 2009 at 07:42:52AM +0800, Andrew Morton wrote:
> On Fri, 22 May 2009 10:33:23 +0800
> Wu Fengguang <fengguang.wu@intel.com> wrote:
>
> > > I tested above patch, and I got same performance number.
> > > I wonder why if (PageUptodate(page)) check is there...
> >
> > Thanks! This is an interesting micro timing behavior that
> > demands some research work. The above check is to confirm if it's
> > the PageUptodate() case that makes the difference. So why that case
> > happens so frequently so as to impact the performance? Will it also
> > happen in NFS?
> >
> > The problem is readahead IO pipeline is not running smoothly, which is
> > undesirable and not well understood for now.
>
> The patch causes a remarkably large performance increase. A 9%
> reduction in time for a linear read? I'd be surprised if the workload
> even consumed 9% of a CPU, so where on earth has the kernel gone to?
>
> Have you been able to reproduce this in your testing?
No I cannot reproduce it on raw partition and ext4fs.
The commands I run:
# echo 1 > /proc/sys/vm/drop_caches
# dd if=/dev/sda1 of=/dev/null bs=16384 count=100000 # sda1 is not mounted
The results are almost identical:
before:
1638400000 bytes (1.6 GB) copied, 31.3073 s, 52.3 MB/s
1638400000 bytes (1.6 GB) copied, 31.3393 s, 52.3 MB/s
after:
1638400000 bytes (1.6 GB) copied, 31.3216 s, 52.3 MB/s
1638400000 bytes (1.6 GB) copied, 31.3762 s, 52.2 MB/s
My kernel is
Linux hp 2.6.30-rc6 #281 SMP Wed May 27 09:32:37 CST 2009 x86_64 GNU/Linux
The readahead size is the default one:
# blockdev --getra /dev/sda
256
I tried another ext4 directory with many ~100MB files(vmlinux-2.6.*) in it:
# time tar cf - /hp/boot | cat > /dev/null
before:
tar cf - /hp/boot 0.22s user 5.63s system 21% cpu 26.750 total
tar cf - /hp/boot 0.26s user 5.53s system 21% cpu 26.620 total
after:
tar cf - /hp/boot 0.18s user 5.57s system 21% cpu 26.719 total
tar cf - /hp/boot 0.22s user 5.32s system 21% cpu 26.321 total
Another round with 1MB readahead size:
before:
tar cf - /hp/boot 0.24s user 4.70s system 19% cpu 25.689 total
tar cf - /hp/boot 0.22s user 4.99s system 20% cpu 25.634 total
after:
tar cf - /hp/boot 0.18s user 4.89s system 19% cpu 25.599 total
tar cf - /hp/boot 0.18s user 4.97s system 20% cpu 25.645 total
Thanks,
Fengguang
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2009-05-27 2:08 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
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 [this message]
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=20090527020730.GA17658@localhost \
--to=fengguang.wu@intel.com \
--cc=akpm@linux-foundation.org \
--cc=hifumi.hisashi@oss.ntt.co.jp \
--cc=jens.axboe@oracle.com \
--cc=kosaki.motohiro@jp.fujitsu.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.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.