linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Chris Mason <chris.mason@oracle.com>
To: Tomasz Chmielewski <mangoo@wpkg.org>
Cc: linux-btrfs <linux-btrfs@vger.kernel.org>
Subject: Re: Interesting problem with write data.
Date: Thu, 18 Nov 2010 10:07:11 -0500	[thread overview]
Message-ID: <1290092740-sup-9020@think> (raw)
In-Reply-To: <4CE53EDE.0@wpkg.org>

Excerpts from Tomasz Chmielewski's message of 2010-11-18 09:57:34 -0500:
> On 18.11.2010 15:23, Chris Mason wrote:
> > Excerpts from Tomasz Chmielewski's message of 2010-11-18 07:03:31 -0500:
> >>>    Recently, I made a btrfs to use. And I met slowness problem. Trying
> >>> to diag it. I found this:
> >>> 1. dd if=/dev/zero of=test count=1024 bs=1MB
> >>> This is fast, at about 25MB/s, and reasonable iowait.
> >>> 2. dd if=/dev/zero of=test count=1 bs=1GB
> >>> This is pretty slow, at about 1.5MB/s, and 90%+ iowait, constantly.
> >>>    May I know why it works like this? Thanks.
> >>
> >> Reproducible here to some extent with 2.6.37-rc2.
> >>
> >> Interesting is, it only happens for me when I mount the filesystem, dd a smaller file, then a bigger one, in that order.
> >>
> >> Any subsequent dd / sync / rm usage doesn't seem to trigger it anymore (have to umount / mount again to trigger this).
> > 
> > I'm going to guess this is the flushing threads, could you please run
> > vmstat and see if there is a stream of reads?
> 
> I guess you meant this during the second dd run:
> 
> [27821.906513] btrfs-cache-8 D ffff88050c5fde98     0  8089      2 0x00000000
> [27821.906517]  ffff88051c3a9b60 0000000000000046 ffff88051c3a9b00 ffff88051c3a9fd8
> [27821.906522]  00000000000139c0 00000000000139c0 ffff88051c3a9fd8 ffff88051c3a9fd8
> [27821.906526]  00000000000139c0 ffff88050c5fde98 ffff88050c5fdea0 ffff88050c5fdb00
> [27821.906530] Call Trace:
> [27821.906534]  [<ffffffff8159fc4e>] io_schedule+0x5e/0xa0
> [27821.906538]  [<ffffffff81109f15>] sync_page+0x45/0x60

So, you're caching block groups.  What you want to do is use Josef's new
block group caching code.

mount -o space_cache /dev/xxx

Do the test and let the caching threads finish, then unmount and then
your next run should be fast.

-chris

  reply	other threads:[~2010-11-18 15:07 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-11-18 12:03 Interesting problem with write data Tomasz Chmielewski
2010-11-18 14:23 ` Chris Mason
2010-11-18 14:57   ` Tomasz Chmielewski
2010-11-18 15:07     ` Chris Mason [this message]
2010-11-18 15:39       ` Tomasz Chmielewski
2010-11-18 15:54         ` Chris Mason
2010-11-18 16:00           ` Tomasz Chmielewski
2010-11-18 16:07             ` Chris Mason
  -- strict thread matches above, loose matches on Subject: below --
2010-11-18  6:19 Magicloud Magiclouds
2010-11-18 10:36 ` Wout Mertens

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=1290092740-sup-9020@think \
    --to=chris.mason@oracle.com \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=mangoo@wpkg.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;
as well as URLs for NNTP newsgroup(s).