On Wed, Mar 06, 2013 at 10:53:22PM -0700, Miao Xie wrote:
Onwed, 6 Mar 2013 22:06:50 -0500, Chris Mason wrote:
On Wed, Mar 06, 2013 at 06:39:30PM -0700, Miao Xie wrote:
On wed, 6 Mar 2013 09:53:28 -0500, Chris Mason wrote:
[SNIP]
+ async_work-delayed_root = delayed_root;
+
transation is committed
This one I've left out for now, the old code didn't block and I'd prefer
that we test that change independently.
V2 below, it also has the break Liu Bo mentioned.
From: Chris Mason chris.ma...@fusionio.com
Date: Mon, 4 Mar 2013 17:13:31 -0500
Subject: [PATCH] Btrfs: improve
, 4 Mar 2013 17:13:31 -0500
Subject: [PATCH] Btrfs: improve the delayed inode throttling
The delayed inode code batches up changes to the btree in hopes of doing
them in bulk. As the changes build up, processes kick off worker
threads and wait for them to make progress.
The current code
On wed, 6 Mar 2013 09:53:28 -0500, Chris Mason wrote:
[SNIP]
static int btrfs_wq_run_delayed_node(struct btrfs_delayed_root *delayed_root,
- struct btrfs_root *root, int all)
+ struct btrfs_root *root, int nr)
{
- struct
On wed, 6 Mar 2013 22:06:50 -0500, Chris Mason wrote:
On Wed, Mar 06, 2013 at 06:39:30PM -0700, Miao Xie wrote:
On wed, 6 Mar 2013 09:53:28 -0500, Chris Mason wrote:
[SNIP]
+ async_work-delayed_root = delayed_root;
+ async_work-work.func = btrfs_async_run_delayed_root;
+
Hi everyone,
While running fs_mark against raid5/6 I noticed the delayed inode
insertions were creating a lot of latencies. Reading through things, I
think we need to move to a model where we fire off fewer work items and
have the ones we do fire last longer.
With this commit our average file
On Tue, Mar 05, 2013 at 10:40:17AM -0500, Chris Mason wrote:
Hi everyone,
While running fs_mark against raid5/6 I noticed the delayed inode
insertions were creating a lot of latencies. Reading through things, I
think we need to move to a model where we fire off fewer work items and
have
On Tue, Mar 05, 2013 at 05:37:34PM -0700, Liu Bo wrote:
On Tue, Mar 05, 2013 at 10:40:17AM -0500, Chris Mason wrote:
diff --git a/fs/btrfs/delayed-inode.c b/fs/btrfs/delayed-inode.c
index 0b278b1..460d1a8 100644
--- a/fs/btrfs/delayed-inode.c
+++ b/fs/btrfs/delayed-inode.c
+
On tue, 5 Mar 2013 10:40:17 -0500, Chris Mason wrote:
diff --git a/fs/btrfs/delayed-inode.c b/fs/btrfs/delayed-inode.c
index 0b278b1..460d1a8 100644
--- a/fs/btrfs/delayed-inode.c
+++ b/fs/btrfs/delayed-inode.c
@@ -22,8 +22,8 @@
#include disk-io.h
#include transaction.h
-#define