Messages in this thread Patch in this message | | | From | changbin.du@intel ... | Subject | [PATCH v3] perf sort: only insert overhead && overhead_children when no overhead* field given | Date | Wed, 5 Jul 2017 11:35:52 +0800 |
| |
From: Changbin Du <changbin.du@intel.com>
If we always insert 'overhead' and 'overhead_children' as sort keys, this make it impossible to sort as overhead (which displayed as Self) first.Ths will be a problem if the data is collected with call-graph enabled. Then we never can sort the result as self-overhead on this data. And sometimes the data is hard to collect.
> perf record -ag > perf report -s overhead,sym
Samples: 7K of event 'cycles', Event count (approx.): 865138253 Children Self Symbol + 26.41% 0.00% [k] verify_cpu + 26.37% 0.04% [k] cpu_startup_entry + 25.93% 0.27% [k] do_idle + 19.88% 0.00% [k] start_secondary ....
I intend to sort as 'Self', but actually it sort as 'Children'.
This patch fix this by only insert overhead && overhead_children when no overhead* field given.
Signed-off-by: Changbin Du <changbin.du@intel.com> --- v3: Add comment in code from Jiri v2: Add the example in commit message.
--- 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 8b327c9..9e087fb 100644 --- a/tools/perf/util/sort.c +++ b/tools/perf/util/sort.c @@ -2635,6 +2635,13 @@ static char *setup_overhead(char *keys) if (sort__mode == SORT_MODE__DIFF) return keys; + /** + * User already stated overhead within -s option, + * do not mangle with that. + */ + if (strstr(keys, "overhead")) + return keys; + keys = prefix_if_not_in("overhead", keys); if (symbol_conf.cumulate_callchain) -- 2.7.4
| |