aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorChris Mason <chris.mason@oracle.com>2008-10-03 12:24:01 -0400
committerChris Mason <chris.mason@oracle.com>2008-10-03 12:24:01 -0400
commit30c43e2444c16afe3b2130f40ad273541bf3dc36 (patch)
treed15296f70f1a66c0248008bfa77494593f28f2a2 /fs
parentcb843a6f513a1a91c54951005e60bd9b95bdf973 (diff)
Btrfs: remove last_log_alloc allocator optimization
The tree logging code was trying to separate tree log allocations from normal metadata allocations to improve writeback patterns during an fsync. But, the code was not effective and ended up just mixing tree log blocks with regular metadata. That seems to be working fairly well, so the last_log_alloc code can be removed. Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs')
-rw-r--r--fs/btrfs/ctree.h1
-rw-r--r--fs/btrfs/extent-tree.c7
-rw-r--r--fs/btrfs/transaction.c1
3 files changed, 0 insertions, 9 deletions
diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h
index 94e0cdfddc0c..8566eb30f567 100644
--- a/fs/btrfs/ctree.h
+++ b/fs/btrfs/ctree.h
@@ -672,7 +672,6 @@ struct btrfs_fs_info {
672 u64 delalloc_bytes; 672 u64 delalloc_bytes;
673 u64 last_alloc; 673 u64 last_alloc;
674 u64 last_data_alloc; 674 u64 last_data_alloc;
675 u64 last_log_alloc;
676 675
677 spinlock_t ref_cache_lock; 676 spinlock_t ref_cache_lock;
678 u64 total_ref_cache_size; 677 u64 total_ref_cache_size;
diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
index db37b867e4f1..29380467b671 100644
--- a/fs/btrfs/extent-tree.c
+++ b/fs/btrfs/extent-tree.c
@@ -2228,13 +2228,6 @@ static int noinline find_free_extent(struct btrfs_trans_handle *trans,
2228 if ((data & BTRFS_BLOCK_GROUP_DATA) && btrfs_test_opt(root, SSD)) 2228 if ((data & BTRFS_BLOCK_GROUP_DATA) && btrfs_test_opt(root, SSD))
2229 last_ptr = &root->fs_info->last_data_alloc; 2229 last_ptr = &root->fs_info->last_data_alloc;
2230 2230
2231 if (root->root_key.objectid == BTRFS_TREE_LOG_OBJECTID) {
2232 last_ptr = &root->fs_info->last_log_alloc;
2233 if (!last_ptr == 0 && root->fs_info->last_alloc) {
2234 *last_ptr = root->fs_info->last_alloc + empty_cluster;
2235 }
2236 }
2237
2238 if (last_ptr) { 2231 if (last_ptr) {
2239 if (*last_ptr) 2232 if (*last_ptr)
2240 hint_byte = *last_ptr; 2233 hint_byte = *last_ptr;
diff --git a/fs/btrfs/transaction.c b/fs/btrfs/transaction.c
index 11266d68a6c9..5ecc24d634a2 100644
--- a/fs/btrfs/transaction.c
+++ b/fs/btrfs/transaction.c
@@ -61,7 +61,6 @@ static noinline int join_transaction(struct btrfs_root *root)
61 root->fs_info->generation++; 61 root->fs_info->generation++;
62 root->fs_info->last_alloc = 0; 62 root->fs_info->last_alloc = 0;
63 root->fs_info->last_data_alloc = 0; 63 root->fs_info->last_data_alloc = 0;
64 root->fs_info->last_log_alloc = 0;
65 cur_trans->num_writers = 1; 64 cur_trans->num_writers = 1;
66 cur_trans->num_joined = 0; 65 cur_trans->num_joined = 0;
67 cur_trans->transid = root->fs_info->generation; 66 cur_trans->transid = root->fs_info->generation;