linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: David Chinner <dgc@sgi.com>
To: linux-kernel@vger.kernel.org
Cc: linux-mm@kvack.org
Subject: [REGRESSION] 2.6.19/2.6.20-rc3 buffered write slowdown
Date: Thu, 11 Jan 2007 09:37:31 +1100	[thread overview]
Message-ID: <20070110223731.GC44411608@melbourne.sgi.com> (raw)

Discussion thread:

http://oss.sgi.com/archives/xfs/2007-01/msg00052.html

Short story is that buffered writes slowed down by 20-30%
between 2.6.18 and 2.6.19 and became a lot more erratic.
Writing a single file to a single filesystem doesn't appear
to have major problems, but when writing a file per filesystem
and using 3 filesystems performance is much worse on 2.6.19
and is only slightly better on 2.6.20-rc3.

It doesn't appear to be fragmentation (I wrote quite a few
800GB files when testing this and they all had "perfect"
extent layouts (i.e. extents the size of allocation groups
and in sequential AGs). It's not the block devices, either,
as doing the same I/O to the block device gives the same
results.

My test case is effectively:

#!/bin/bash

mkfs.xfs -f -l version=2 -d sunit=512,swidth=2048 /dev/dm-0
mkfs.xfs -f -l version=2 -d sunit=512,swidth=2048 /dev/dm-1
mkfs.xfs -f -l version=2 -d sunit=512,swidth=2048 /dev/dm-2

mount /dev/dm-0 /mnt/dm0
mount /dev/dm-1 /mnt/dm1
mount /dev/dm-2 /mnt/dm2

dd if=/dev/zero of=/mnt/dm0/test bs=1024k count=800k &
dd if=/dev/zero of=/mnt/dm1/test bs=1024k count=800k &
dd if=/dev/zero of=/mnt/dm2/test bs=1024k count=800k &
wait

unmount /mnt/dm0
unmount /mnt/dm1
unmount /mnt/dm2

#EOF

Overall, on 2.6.18 this gave an average of about 240MB/s per
filesystem with minimum write rates of about 190MB/s per fs
(when writing near the inner edge of the disks).

On 2.6.20-rc3, this gave and average of ~200MB/s per fs
with minimum write rates of about 110MB/s per fs which
occurrred randomly throughout the test.

The performance and smoothness is fully restored on 2.6.20-rc3
by setting dirty_ratio down to 10 (from the default 40), so
something in the VM is not working as well as it used to....

Cheers,

Dave.
-- 
Dave Chinner
Principal Engineer
SGI Australian Software Group

--
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>

             reply	other threads:[~2007-01-10 22:37 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-01-10 22:37 David Chinner [this message]
2007-01-10 23:04 ` Christoph Lameter
2007-01-10 23:08   ` David Chinner
2007-01-10 23:12     ` Christoph Lameter
2007-01-10 23:18       ` David Chinner
2007-01-10 23:13     ` Nick Piggin
2007-01-11  0:31       ` David Chinner
2007-01-11  0:43         ` Christoph Lameter
2007-01-11  1:06           ` David Chinner
2007-01-11  1:40             ` Christoph Lameter
2007-01-11  2:57               ` David Chinner
2007-01-11  1:08         ` Nick Piggin
2007-01-11  1:24           ` David Chinner
2007-01-11  9:27             ` Nick Piggin
2007-01-11 17:51               ` Christoph Lameter
2007-01-12  0:06                 ` Nick Piggin
2007-01-12  3:04                   ` Christoph Lameter
     [not found]           ` <20070111063555.GB33919298@melbourne.sgi.com>
2007-01-11  9:23             ` Nick Piggin
2007-01-11  1:11     ` David Chinner

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=20070110223731.GC44411608@melbourne.sgi.com \
    --to=dgc@sgi.com \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox