From: Josef Bacik <josef@redhat.com>
To: Nirbheek Chauhan <nirbheek@gentoo.org>
Cc: linux-btrfs <linux-btrfs@vger.kernel.org>
Subject: Re: Applications using fsync cause hangs for several seconds every few minutes
Date: Mon, 18 Jul 2011 14:17:21 -0400 [thread overview]
Message-ID: <4E2478B1.60601@redhat.com> (raw)
In-Reply-To: <BANLkTimMv_MMVmsJeVvr_1_wEVam1WZ6BA@mail.gmail.com>
On 06/06/2011 06:58 PM, Nirbheek Chauhan wrote:
> Hello list,
>
> I've been using btrfs on my personal machines for about two years now,
> and on this machine for about a year with absolutely no problems.
> Infact, it has held up better than ext4 with regards to reliability.
>
> However, recently, perhaps with 2.6.39, or after I quickly started
> filling up my disk again, it has become impossible for me to work for
> long periods on my machine.
>
> Every few minutes, (I guess) when applications do fsync (firefox,
> xchat, vim, etc), all applications that use fsync() hang for several
> seconds, and applications that use general IO suffer extreme
> slowdowns. iotop shows various combinations of the processes listed
> below doing writes, and the total write as 2-3MB/s.
>
> [btrfs-dealloc-]
> [btrfs-submit-0]
> [btrfs-transacti]
> [btrfs-endio-wri]
> [flush-btrfs-1]
>
> In some extreme cases, I've had hangs for 5 whole minutes. I'm really
> beginning to appreciate how little I/O GNOME Shell does since it
> remains completely responsive throughout this. I have a feeling that
> the cause for this is extreme fragmentation.
>
> My hard disk is a 500GB SATA hdd, my btrfs partition details are:
>
> # btrfs filesystem show
> Label: 'gentoo' uuid: 6f539d7f-f70f-4216-a4a9-6f7a2117a04a
> Total devices 1 FS bytes used 246.37GB
> devid 1 size 345.13GB used 345.13GB path /dev/sda7
>
> Btrfs v0.19-35-g1b444cd-dirty
>
> What can I do to debug this issue? What other information should I
> supply? Could someone guide me on how to figure out why my machine is
> unusable now?
>
> Thanks in advance,
>
Hello,
I've been looking into this and I have a suspicion. Would you run with this
patch and see if the problem goes away? If so I'm on the right track
and I'll
have more test patches for you to try :). Thanks,
Josef
diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c
index 19450bc..2e30350 100644
--- a/fs/btrfs/volumes.c
+++ b/fs/btrfs/volumes.c
@@ -150,7 +150,6 @@ static noinline int run_scheduled_bios(struct
btrfs_device *device)
* another device without first sending all of these down.
* So, setup a plug here and finish it off before we return
*/
- blk_start_plug(&plug);
bdi = blk_get_backing_dev_info(device->bdev);
fs_info = device->dev_root->fs_info;
@@ -290,7 +289,6 @@ loop_lock:
spin_unlock(&device->io_lock);
done:
- blk_finish_plug(&plug);
return 0;
}
next prev parent reply other threads:[~2011-07-18 18:17 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-06 22:58 Applications using fsync cause hangs for several seconds every few minutes Nirbheek Chauhan
2011-07-18 17:37 ` Mck
2011-07-18 18:17 ` Josef Bacik [this message]
2011-07-20 20:59 ` Nirbheek Chauhan
2011-08-03 15:50 ` mck
-- strict thread matches above, loose matches on Subject: below --
2011-06-21 11:15 Jan Stilow
2011-08-09 21:29 Andrew Guertin
2011-08-12 1:13 ` Andrew Guertin
2011-08-18 14:38 ` Chris Mason
2011-08-20 17:18 ` Andrew Guertin
2011-08-17 14:24 ` Andrew Guertin
2011-08-17 14:29 ` Michael Cronenworth
2011-08-17 14:38 ` Andrew Guertin
2011-08-17 14:55 ` Dave
2011-08-18 2:41 ` Anand Jain
2011-08-18 6:44 ` youagree
2011-08-18 7:29 ` Andrew Guertin
2011-08-18 7:55 ` youagree
2011-08-18 11:45 ` Andrew Guertin
2011-08-19 9:58 ` Anand Jain
2011-08-18 7:41 ` Andrew Guertin
2011-08-18 6:47 ` Chris Samuel
2011-08-18 6:58 ` youagree
2011-08-19 7:34 ` Chris Samuel
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=4E2478B1.60601@redhat.com \
--to=josef@redhat.com \
--cc=linux-btrfs@vger.kernel.org \
--cc=nirbheek@gentoo.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.