All of lore.kernel.org
 help / color / mirror / Atom feed
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>

  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.