diff options
Diffstat (limited to 'tools/perf/ui/stdio/hist.c')
-rw-r--r-- | tools/perf/ui/stdio/hist.c | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/tools/perf/ui/stdio/hist.c b/tools/perf/ui/stdio/hist.c index cfcd3f6fd1c5..9f57991025a9 100644 --- a/tools/perf/ui/stdio/hist.c +++ b/tools/perf/ui/stdio/hist.c | |||
@@ -183,7 +183,8 @@ static size_t callchain__fprintf_graph(FILE *fp, struct rb_root *root, | |||
183 | * the symbol. No need to print it otherwise it appears as | 183 | * the symbol. No need to print it otherwise it appears as |
184 | * displayed twice. | 184 | * displayed twice. |
185 | */ | 185 | */ |
186 | if (!i++ && sort__first_dimension == SORT_SYM) | 186 | if (!i++ && field_order == NULL && |
187 | sort_order && !prefixcmp(sort_order, "sym")) | ||
187 | continue; | 188 | continue; |
188 | if (!printed) { | 189 | if (!printed) { |
189 | ret += callchain__fprintf_left_margin(fp, left_margin); | 190 | ret += callchain__fprintf_left_margin(fp, left_margin); |
@@ -296,13 +297,20 @@ static size_t hist_entry__callchain_fprintf(struct hist_entry *he, | |||
296 | int left_margin = 0; | 297 | int left_margin = 0; |
297 | u64 total_period = hists->stats.total_period; | 298 | u64 total_period = hists->stats.total_period; |
298 | 299 | ||
299 | if (sort__first_dimension == SORT_COMM) { | 300 | if (field_order == NULL && (sort_order == NULL || |
300 | struct sort_entry *se = list_first_entry(&hist_entry__sort_list, | 301 | !prefixcmp(sort_order, "comm"))) { |
301 | typeof(*se), list); | 302 | struct perf_hpp_fmt *fmt; |
302 | left_margin = hists__col_len(hists, se->se_width_idx); | 303 | |
303 | left_margin -= thread__comm_len(he->thread); | 304 | perf_hpp__for_each_format(fmt) { |
304 | } | 305 | if (!perf_hpp__is_sort_entry(fmt)) |
306 | continue; | ||
305 | 307 | ||
308 | /* must be 'comm' sort entry */ | ||
309 | left_margin = fmt->width(fmt, NULL, hists_to_evsel(hists)); | ||
310 | left_margin -= thread__comm_len(he->thread); | ||
311 | break; | ||
312 | } | ||
313 | } | ||
306 | return hist_entry_callchain__fprintf(he, total_period, left_margin, fp); | 314 | return hist_entry_callchain__fprintf(he, total_period, left_margin, fp); |
307 | } | 315 | } |
308 | 316 | ||