forked from Minki/linux
perf callchain: Pass parent_samples to __callchain__fprintf_graph()
Pass hist entry's period to graph callchain print function. This info is needed by later patch to determine whether it can omit percentage of top-level node or not. No functional change intended. Signed-off-by: Namhyung Kim <namhyung@kernel.org> Cc: Andi Kleen <andi@firstfloor.org> Cc: David Ahern <dsahern@gmail.com> Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Wang Nan <wangnan0@huawei.com> Link: http://lkml.kernel.org/r/1453909257-26015-6-git-send-email-namhyung@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
7e597d327e
commit
54d27b3119
@ -166,7 +166,8 @@ static size_t __callchain__fprintf_graph(FILE *fp, struct rb_root *root,
|
||||
}
|
||||
|
||||
static size_t callchain__fprintf_graph(FILE *fp, struct rb_root *root,
|
||||
u64 total_samples, int left_margin)
|
||||
u64 total_samples, u64 parent_samples,
|
||||
int left_margin)
|
||||
{
|
||||
struct callchain_node *cnode;
|
||||
struct callchain_list *chain;
|
||||
@ -213,6 +214,9 @@ static size_t callchain__fprintf_graph(FILE *fp, struct rb_root *root,
|
||||
root = &cnode->rb_root;
|
||||
}
|
||||
|
||||
if (callchain_param.mode == CHAIN_GRAPH_REL)
|
||||
total_samples = parent_samples;
|
||||
|
||||
ret += __callchain__fprintf_graph(fp, root, total_samples,
|
||||
1, 1, left_margin);
|
||||
ret += fprintf(fp, "\n");
|
||||
@ -323,16 +327,19 @@ static size_t hist_entry_callchain__fprintf(struct hist_entry *he,
|
||||
u64 total_samples, int left_margin,
|
||||
FILE *fp)
|
||||
{
|
||||
u64 parent_samples = he->stat.period;
|
||||
|
||||
if (symbol_conf.cumulate_callchain)
|
||||
parent_samples = he->stat_acc->period;
|
||||
|
||||
switch (callchain_param.mode) {
|
||||
case CHAIN_GRAPH_REL:
|
||||
return callchain__fprintf_graph(fp, &he->sorted_chain,
|
||||
symbol_conf.cumulate_callchain ?
|
||||
he->stat_acc->period : he->stat.period,
|
||||
left_margin);
|
||||
return callchain__fprintf_graph(fp, &he->sorted_chain, total_samples,
|
||||
parent_samples, left_margin);
|
||||
break;
|
||||
case CHAIN_GRAPH_ABS:
|
||||
return callchain__fprintf_graph(fp, &he->sorted_chain, total_samples,
|
||||
left_margin);
|
||||
parent_samples, left_margin);
|
||||
break;
|
||||
case CHAIN_FLAT:
|
||||
return callchain__fprintf_flat(fp, &he->sorted_chain, total_samples);
|
||||
|
Loading…
Reference in New Issue
Block a user