diff options
Diffstat (limited to 'tools/perf/util/callchain.c')
-rw-r--r-- | tools/perf/util/callchain.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/tools/perf/util/callchain.c b/tools/perf/util/callchain.c index a8e67aa9ef49..011473411642 100644 --- a/tools/perf/util/callchain.c +++ b/tools/perf/util/callchain.c | |||
@@ -13,6 +13,7 @@ | |||
13 | #include <stdio.h> | 13 | #include <stdio.h> |
14 | #include <stdbool.h> | 14 | #include <stdbool.h> |
15 | #include <errno.h> | 15 | #include <errno.h> |
16 | #include <math.h> | ||
16 | 17 | ||
17 | #include "callchain.h" | 18 | #include "callchain.h" |
18 | 19 | ||
@@ -112,7 +113,7 @@ static void __sort_chain_graph_rel(struct callchain_node *node, | |||
112 | u64 min_hit; | 113 | u64 min_hit; |
113 | 114 | ||
114 | node->rb_root = RB_ROOT; | 115 | node->rb_root = RB_ROOT; |
115 | min_hit = node->children_hit * min_percent / 100.0; | 116 | min_hit = ceil(node->children_hit * min_percent); |
116 | 117 | ||
117 | chain_for_each_child(child, node) { | 118 | chain_for_each_child(child, node) { |
118 | __sort_chain_graph_rel(child, min_percent); | 119 | __sort_chain_graph_rel(child, min_percent); |
@@ -126,7 +127,7 @@ static void | |||
126 | sort_chain_graph_rel(struct rb_root *rb_root, struct callchain_node *chain_root, | 127 | sort_chain_graph_rel(struct rb_root *rb_root, struct callchain_node *chain_root, |
127 | u64 min_hit __used, struct callchain_param *param) | 128 | u64 min_hit __used, struct callchain_param *param) |
128 | { | 129 | { |
129 | __sort_chain_graph_rel(chain_root, param->min_percent); | 130 | __sort_chain_graph_rel(chain_root, param->min_percent / 100.0); |
130 | rb_root->rb_node = chain_root->rb_root.rb_node; | 131 | rb_root->rb_node = chain_root->rb_root.rb_node; |
131 | } | 132 | } |
132 | 133 | ||