浏览代码

Btrfs: noinline merge_extent_mapping

In order to debug subtle bugs around merge_extent_mapping(), perf probe
can be used to check the arguments, but sometimes merge_extent_mapping()
got inlined by compiler and couldn't be probed.

This is adding noinline attribute to merge_extent_mapping().

Signed-off-by: Liu Bo <bo.li.liu@oracle.com>
Reviewed-by: Josef Bacik <jbacik@fb.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Liu Bo 7 年之前
父节点
当前提交
5f4791f4a6
共有 1 个文件被更改,包括 4 次插入4 次删除
  1. 4 4
      fs/btrfs/extent_map.c

+ 4 - 4
fs/btrfs/extent_map.c

@@ -480,10 +480,10 @@ static struct extent_map *prev_extent_map(struct extent_map *em)
  * and an extent that you want to insert, deal with overlap and insert
  * and an extent that you want to insert, deal with overlap and insert
  * the best fitted new extent into the tree.
  * the best fitted new extent into the tree.
  */
  */
-static int merge_extent_mapping(struct extent_map_tree *em_tree,
-				struct extent_map *existing,
-				struct extent_map *em,
-				u64 map_start)
+static noinline int merge_extent_mapping(struct extent_map_tree *em_tree,
+					 struct extent_map *existing,
+					 struct extent_map *em,
+					 u64 map_start)
 {
 {
 	struct extent_map *prev;
 	struct extent_map *prev;
 	struct extent_map *next;
 	struct extent_map *next;