btrfs: Set io_tree only once in submit_compressed_extents
authorNikolay Borisov <nborisov@suse.com>
Tue, 12 Mar 2019 15:20:29 +0000 (17:20 +0200)
committerDavid Sterba <dsterba@suse.com>
Thu, 2 May 2019 11:48:19 +0000 (13:48 +0200)
The inode never changes so it's sufficient to dereference it and get
the iotree only once, before the execution of the main loop. No
functional changes, only the size of the function is decreased:

add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-44 (-44)
Function                                     old     new   delta
submit_compressed_extents                   1240    1196     -44
Total: Before=88476, After=88432, chg -0.05%

Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
Signed-off-by: Nikolay Borisov <nborisov@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/inode.c

index 05362559645e1c508bd0d6e22802ec5928de7d85..83bf10bb13bb2a3e7034b562915e4d06ab6b278a 100644 (file)
@@ -717,7 +717,7 @@ static noinline void submit_compressed_extents(struct async_chunk *async_chunk)
        struct btrfs_key ins;
        struct extent_map *em;
        struct btrfs_root *root = BTRFS_I(inode)->root;
-       struct extent_io_tree *io_tree;
+       struct extent_io_tree *io_tree = &BTRFS_I(inode)->io_tree;
        int ret = 0;
 
 again:
@@ -725,9 +725,6 @@ again:
                async_extent = list_entry(async_chunk->extents.next,
                                          struct async_extent, list);
                list_del(&async_extent->list);
-
-               io_tree = &BTRFS_I(inode)->io_tree;
-
 retry:
                /* did the compression code fall back to uncompressed IO? */
                if (!async_extent->pages) {