Displaying 3 results from an estimated 3 matches for "btrfs_find_space_cluster".
2011 May 25
0
[PATCH] Btrfs: cache bitmaps when searching for a cluster
...search;
+ }
+
entry = tree_search_offset(block_group,
offset_to_bitmap(block_group, offset),
0, 1);
if (!entry)
return -ENOSPC;
+search:
node = &entry->offset_index;
do {
entry = rb_entry(node, struct btrfs_free_space, offset_index);
@@ -2201,6 +2238,8 @@ int btrfs_find_space_cluster(struct btrfs_trans_handle *trans,
struct btrfs_free_cluster *cluster,
u64 offset, u64 bytes, u64 empty_size)
{
+ struct list_head bitmaps;
+ struct btrfs_free_space *entry, *tmp;
u64 min_bytes;
int ret;
@@ -2239,11 +2278,16 @@ int btrfs_find_space_cluster(struct btrfs_trans...
2010 Mar 02
3
2.6.33 high cpu usage
...h cpu usage.
As an example, this perf report is from using git checkout to change to
a new branch; the change needed to checkout 208 files out of about 1600
total files. du(1) reports that the checkout is about 14 megs; the
alternates for that tree have about 60 megs of git packs.
As you can see btrfs_find_space_cluster(), find_next_bit() and
find_next_zero_bit() use most of the sys cpu. That patterns seems to
hold whenever I run perf top during such operations.
Box is x86_32, pentium3m.
-JimC
--
James Cloos <cloos@jhcloos.com> OpenPGP: 1024D/ED7DAEA6
2011 Sep 27
2
high CPU usage and low perf
...15954.295050] Call Trace:
[515954.295050] [<ffffffffa032765e>] ? tree_search_offset+0x18f/0x1b8 [btrfs]
[515954.295050] [<ffffffff8103ce8e>] ? need_resched+0x23/0x2d
[515954.295050] [<ffffffff81103ccd>] ? kmem_cache_alloc+0x94/0x105
[515954.295050] [<ffffffffa0329ff7>] ? btrfs_find_space_cluster+0xce/0x189 [btrfs]
[515954.295050] [<ffffffffa02eaaa0>] ? find_free_extent.clone.64+0x549/0x8c7 [btrfs]
[515954.295050] [<ffffffffa032765e>] ? tree_search_offset+0x18f/0x1b8 [btrfs]
[515954.295050] [<ffffffffa02eb745>] ? btrfs_reserve_extent+0xb0/0x190 [btrfs]
[515954.295050]...