[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20120503034311.GA14081@localhost>
Date: Thu, 3 May 2012 11:43:11 +0800
From: Fengguang Wu <fengguang.wu@...el.com>
To: Chris Mason <chris.mason@...cle.com>
Cc: Jan Kara <jack@...e.cz>, Andrew Morton <akpm@...ux-foundation.org>,
Jeff Moyer <jmoyer@...hat.com>, Jens Axboe <axboe@...nel.dk>,
linux-fsdevel@...r.kernel.org, LKML <linux-kernel@...r.kernel.org>,
Dave Chinner <david@...morbit.com>,
Christoph Hellwig <hch@...radead.org>,
Shaohua Li <shli@...ionio.com>
Subject: [PATCH] btrfs: lower metadata writeback threshold on low dirty
threshold
This helps write performance when setting the dirty threshold to tiny numbers.
3.4.0-rc2 3.4.0-rc2-btrfs4+
------------ ------------------------
96.92 -0.4% 96.54 bay/thresh=1000M/btrfs-100dd-1-3.4.0-rc2
98.47 +0.0% 98.50 bay/thresh=1000M/btrfs-10dd-1-3.4.0-rc2
99.38 -0.3% 99.06 bay/thresh=1000M/btrfs-1dd-1-3.4.0-rc2
98.04 -0.0% 98.02 bay/thresh=100M/btrfs-100dd-1-3.4.0-rc2
98.68 +0.3% 98.98 bay/thresh=100M/btrfs-10dd-1-3.4.0-rc2
99.34 -0.0% 99.31 bay/thresh=100M/btrfs-1dd-1-3.4.0-rc2
==> 88.98 +9.6% 97.53 bay/thresh=10M/btrfs-10dd-1-3.4.0-rc2
==> 86.99 +13.1% 98.39 bay/thresh=10M/btrfs-1dd-1-3.4.0-rc2
==> 2.75 +2442.4% 69.88 bay/thresh=1M/btrfs-10dd-1-3.4.0-rc2
==> 3.31 +2634.1% 90.54 bay/thresh=1M/btrfs-1dd-1-3.4.0-rc2
Signed-off-by: Fengguang Wu <fengguang.wu@...el.com>
---
fs/btrfs/disk-io.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
--- linux-next.orig/fs/btrfs/disk-io.c 2012-05-02 14:04:00.989262395 +0800
+++ linux-next/fs/btrfs/disk-io.c 2012-05-02 14:04:01.773262414 +0800
@@ -930,7 +930,8 @@ static int btree_writepages(struct addre
/* this is a bit racy, but that's ok */
num_dirty = root->fs_info->dirty_metadata_bytes;
- if (num_dirty < thresh)
+ if (num_dirty < min(thresh,
+ global_dirty_limit << (PAGE_CACHE_SHIFT-2)))
return 0;
}
return btree_write_cache_pages(mapping, wbc);
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists