Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3de85bb9 authored by Josef Bacik's avatar Josef Bacik
Browse files

Btrfs: noinline the cluster searching functions



When profiling the find cluster code it's hard to tell where we are spending our
time because the bitmap and non-bitmap functions get inlined by the compiler, so
make that not happen.  Thanks,

Signed-off-by: default avatarJosef Bacik <josef@redhat.com>
parent 86d4a77b
Loading
Loading
Loading
Loading
+10 −8
Original line number Diff line number Diff line
@@ -2142,10 +2142,11 @@ static int btrfs_bitmap_cluster(struct btrfs_block_group_cache *block_group,
/*
 * This searches the block group for just extents to fill the cluster with.
 */
static int setup_cluster_no_bitmap(struct btrfs_block_group_cache *block_group,
static noinline int
setup_cluster_no_bitmap(struct btrfs_block_group_cache *block_group,
			struct btrfs_free_cluster *cluster,
				   struct list_head *bitmaps,
				   u64 offset, u64 bytes, u64 min_bytes)
			struct list_head *bitmaps, u64 offset, u64 bytes,
			u64 min_bytes)
{
	struct btrfs_free_space_ctl *ctl = block_group->free_space_ctl;
	struct btrfs_free_space *first = NULL;
@@ -2245,10 +2246,11 @@ static int setup_cluster_no_bitmap(struct btrfs_block_group_cache *block_group,
 * This specifically looks for bitmaps that may work in the cluster, we assume
 * that we have already failed to find extents that will work.
 */
static int setup_cluster_bitmap(struct btrfs_block_group_cache *block_group,
static noinline int
setup_cluster_bitmap(struct btrfs_block_group_cache *block_group,
		     struct btrfs_free_cluster *cluster,
				struct list_head *bitmaps,
				u64 offset, u64 bytes, u64 min_bytes)
		     struct list_head *bitmaps, u64 offset, u64 bytes,
		     u64 min_bytes)
{
	struct btrfs_free_space_ctl *ctl = block_group->free_space_ctl;
	struct btrfs_free_space *entry;