hi, Arnaldo, Seems you missed this one. In some case, sort by 'Children' first doesn't make sense, bacause I only care the 'Self' overhead. btw, does perf have a option that only calculate the *real* callee 'overhead_acc'? I mean only count the samples to parent when it is called by parent. For example, fun1 fun2 foo foo Then the 'overhead_acc' for fun1 should not include the samples that fun2 call foo. Thanks. changbin On Mon, Mar 13, 2017 at 04:36:01PM +0800, changbin.du@intel.com wrote: > From: Changbin Du > > If we always insert 'overhead' and 'overhead_children' as sort keys, > this make it impossible to sort as overhead (which displayed as Self) > first. This patch forbid adding any overhead* field if there is one > already given. > > Signed-off-by: Changbin Du > --- > tools/perf/util/sort.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/tools/perf/util/sort.c b/tools/perf/util/sort.c > index b6db140..7695b54 100644 > --- a/tools/perf/util/sort.c > +++ b/tools/perf/util/sort.c > @@ -2543,6 +2543,13 @@ static char *setup_overhead(char *keys) > if (sort__mode == SORT_MODE__DIFF) > return keys; > > + /* > + * Only insert overhead && overhead_children when > + * no overhead* field given. > + */ > + if (strstr(keys, "overhead")) > + return keys; > + > keys = prefix_if_not_in("overhead", keys); > > if (symbol_conf.cumulate_callchain) > -- > 2.7.4 > -- Thanks, Changbin Du