]> git.dujemihanovic.xyz Git - linux.git/commitdiff
btrfs: roll tracepoint into btrfs_space_info_update helper
authorJosef Bacik <josef@toxicpanda.com>
Thu, 22 Aug 2019 19:10:55 +0000 (15:10 -0400)
committerDavid Sterba <dsterba@suse.com>
Mon, 9 Sep 2019 12:59:17 +0000 (14:59 +0200)
We duplicate this tracepoint everywhere we call these helpers, so update
the helper to have the tracepoint as well.

Signed-off-by: Josef Bacik <josef@toxicpanda.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/block-group.c
fs/btrfs/block-rsv.c
fs/btrfs/delalloc-space.c
fs/btrfs/extent-tree.c
fs/btrfs/space-info.c
fs/btrfs/space-info.h

index 9a09f459337b90fe1da8e6069e6c664bf3768508..d61aa94884f0dfd138585ea73100416f5eeaaa8e 100644 (file)
@@ -2696,9 +2696,6 @@ int btrfs_update_block_group(struct btrfs_trans_handle *trans,
                        spin_unlock(&cache->lock);
                        spin_unlock(&cache->space_info->lock);
 
-                       trace_btrfs_space_reservation(info, "pinned",
-                                                     cache->space_info->flags,
-                                                     num_bytes, 1);
                        percpu_counter_add_batch(
                                        &cache->space_info->total_bytes_pinned,
                                        num_bytes,
index ef8b8ae2738615e859f52606bc294897ecd571ab..c808f93b743a9845cf6ce0f0301f85529bdb5a47 100644 (file)
@@ -283,16 +283,11 @@ void btrfs_update_global_block_rsv(struct btrfs_fs_info *fs_info)
                        block_rsv->reserved += num_bytes;
                        btrfs_space_info_update_bytes_may_use(fs_info, sinfo,
                                                              num_bytes);
-                       trace_btrfs_space_reservation(fs_info, "space_info",
-                                                     sinfo->flags, num_bytes,
-                                                     1);
                }
        } else if (block_rsv->reserved > block_rsv->size) {
                num_bytes = block_rsv->reserved - block_rsv->size;
                btrfs_space_info_update_bytes_may_use(fs_info, sinfo,
                                                      -num_bytes);
-               trace_btrfs_space_reservation(fs_info, "space_info",
-                                     sinfo->flags, num_bytes, 0);
                block_rsv->reserved = block_rsv->size;
        }
 
index 391dcb2170985b5aebca46033582e546cc815d6e..d949d7d2abed8489baa5318f5e56a0d1462fb5bd 100644 (file)
@@ -130,8 +130,6 @@ commit_trans:
                return -ENOSPC;
        }
        btrfs_space_info_update_bytes_may_use(fs_info, data_sinfo, bytes);
-       trace_btrfs_space_reservation(fs_info, "space_info",
-                                     data_sinfo->flags, bytes, 1);
        spin_unlock(&data_sinfo->lock);
 
        return 0;
@@ -183,8 +181,6 @@ void btrfs_free_reserved_data_space_noquota(struct inode *inode, u64 start,
        data_sinfo = fs_info->data_sinfo;
        spin_lock(&data_sinfo->lock);
        btrfs_space_info_update_bytes_may_use(fs_info, data_sinfo, -len);
-       trace_btrfs_space_reservation(fs_info, "space_info",
-                                     data_sinfo->flags, len, 0);
        spin_unlock(&data_sinfo->lock);
 }
 
index 2bf5dad82bf1dad27ea798217a7e90af1b734aa4..7d7e91f329cef0e8a8f4473370f0de3b52aa52ce 100644 (file)
@@ -2583,8 +2583,6 @@ static int pin_down_extent(struct btrfs_block_group_cache *cache,
        spin_unlock(&cache->lock);
        spin_unlock(&cache->space_info->lock);
 
-       trace_btrfs_space_reservation(fs_info, "pinned",
-                                     cache->space_info->flags, num_bytes, 1);
        percpu_counter_add_batch(&cache->space_info->total_bytes_pinned,
                    num_bytes, BTRFS_TOTAL_BYTES_PINNED_BATCH);
        set_extent_dirty(fs_info->pinned_extents, bytenr,
@@ -2842,9 +2840,6 @@ static int unpin_extent_range(struct btrfs_fs_info *fs_info,
                spin_lock(&cache->lock);
                cache->pinned -= len;
                btrfs_space_info_update_bytes_pinned(fs_info, space_info, -len);
-
-               trace_btrfs_space_reservation(fs_info, "pinned",
-                                             space_info->flags, len, 0);
                space_info->max_extent_size = 0;
                percpu_counter_add_batch(&space_info->total_bytes_pinned,
                            -len, BTRFS_TOTAL_BYTES_PINNED_BATCH);
@@ -2866,10 +2861,6 @@ static int unpin_extent_range(struct btrfs_fs_info *fs_info,
                                                space_info, to_add);
                                if (global_rsv->reserved >= global_rsv->size)
                                        global_rsv->full = 1;
-                               trace_btrfs_space_reservation(fs_info,
-                                                             "space_info",
-                                                             space_info->flags,
-                                                             to_add, 1);
                                len -= to_add;
                        }
                        spin_unlock(&global_rsv->lock);
index 918bffb6ba30ad2e56d7512e254a741a4deab2d4..2aa0b2040ac3c90981bf65ece5958e33aaa81a54 100644 (file)
@@ -279,8 +279,6 @@ again:
                goto again;
        }
        btrfs_space_info_update_bytes_may_use(fs_info, space_info, -num_bytes);
-       trace_btrfs_space_reservation(fs_info, "space_info",
-                                     space_info->flags, num_bytes, 0);
        spin_unlock(&space_info->lock);
 }
 
@@ -301,9 +299,6 @@ again:
                ticket = list_first_entry(head, struct reserve_ticket,
                                          list);
                if (num_bytes >= ticket->bytes) {
-                       trace_btrfs_space_reservation(fs_info, "space_info",
-                                                     space_info->flags,
-                                                     ticket->bytes, 1);
                        list_del_init(&ticket->list);
                        num_bytes -= ticket->bytes;
                        btrfs_space_info_update_bytes_may_use(fs_info,
@@ -313,9 +308,6 @@ again:
                        space_info->tickets_id++;
                        wake_up(&ticket->wait);
                } else {
-                       trace_btrfs_space_reservation(fs_info, "space_info",
-                                                     space_info->flags,
-                                                     num_bytes, 1);
                        btrfs_space_info_update_bytes_may_use(fs_info,
                                                              space_info,
                                                              num_bytes);
@@ -1014,8 +1006,6 @@ static int __reserve_metadata_bytes(struct btrfs_fs_info *fs_info,
                           system_chunk))) {
                btrfs_space_info_update_bytes_may_use(fs_info, space_info,
                                                      orig_bytes);
-               trace_btrfs_space_reservation(fs_info, "space_info",
-                                             space_info->flags, orig_bytes, 1);
                ret = 0;
        }
 
index c2b54b8e1a147e4af3356d94f776ef3e27dde130..66d73c2909831f46bff8428fadc0c6c9d2c2c1d7 100644 (file)
@@ -87,14 +87,18 @@ static inline bool btrfs_mixed_space_info(struct btrfs_space_info *space_info)
  *
  * Declare a helper function to detect underflow of various space info members
  */
-#define DECLARE_SPACE_INFO_UPDATE(name)                                        \
+#define DECLARE_SPACE_INFO_UPDATE(name, trace_name)                    \
 static inline void                                                     \
 btrfs_space_info_update_##name(struct btrfs_fs_info *fs_info,          \
                               struct btrfs_space_info *sinfo,          \
                               s64 bytes)                               \
 {                                                                      \
+       const u64 abs_bytes = (bytes < 0) ? -bytes : bytes;             \
        lockdep_assert_held(&sinfo->lock);                              \
        trace_update_##name(fs_info, sinfo, sinfo->name, bytes);        \
+       trace_btrfs_space_reservation(fs_info, trace_name,              \
+                                     sinfo->flags, abs_bytes,          \
+                                     bytes > 0);                       \
        if (bytes < 0 && sinfo->name < -bytes) {                        \
                WARN_ON(1);                                             \
                sinfo->name = 0;                                        \
@@ -103,8 +107,8 @@ btrfs_space_info_update_##name(struct btrfs_fs_info *fs_info,               \
        sinfo->name += bytes;                                           \
 }
 
-DECLARE_SPACE_INFO_UPDATE(bytes_may_use);
-DECLARE_SPACE_INFO_UPDATE(bytes_pinned);
+DECLARE_SPACE_INFO_UPDATE(bytes_may_use, "space_info");
+DECLARE_SPACE_INFO_UPDATE(bytes_pinned, "pinned");
 
 void btrfs_space_info_add_new_bytes(struct btrfs_fs_info *fs_info,
                                    struct btrfs_space_info *space_info,