diff options
| author | Arnaldo Carvalho de Melo <[email protected]> | 2018-03-15 19:26:29 +0000 |
|---|---|---|
| committer | Arnaldo Carvalho de Melo <[email protected]> | 2018-03-20 16:19:29 +0000 |
| commit | b8b0d819858e1140e98ce858a0c839f3d03cb0f5 (patch) | |
| tree | 6cbfbaeb6a8ff6fbe3498d9edfe9e6ab81ab98da /tools/perf/util/annotate.c | |
| parent | perf annotate: Move update_column_widths() to the generic lib (diff) | |
| download | kernel-b8b0d819858e1140e98ce858a0c839f3d03cb0f5.tar.gz kernel-b8b0d819858e1140e98ce858a0c839f3d03cb0f5.zip | |
perf annotate: Introduce init_column_widths() method out of TUI code
More non-TUI stuff goes to the UI-agnostic library
Cc: Adrian Hunter <[email protected]>
Cc: Andi Kleen <[email protected]>
Cc: David Ahern <[email protected]>
Cc: Jin Yao <[email protected]>
Cc: Jiri Olsa <[email protected]>
Cc: Namhyung Kim <[email protected]>
Cc: Wang Nan <[email protected]>
Link: https://lkml.kernel.org/n/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
Diffstat (limited to 'tools/perf/util/annotate.c')
| -rw-r--r-- | tools/perf/util/annotate.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c index 8a2fda80a221..9c05b534f428 100644 --- a/tools/perf/util/annotate.c +++ b/tools/perf/util/annotate.c @@ -2084,6 +2084,23 @@ void annotation__set_offsets(struct annotation *notes, s64 size) } } +static inline int width_jumps(int n) +{ + if (n >= 100) + return 5; + if (n / 10) + return 2; + return 1; +} + +void annotation__init_column_widths(struct annotation *notes, struct symbol *sym) +{ + notes->widths.addr = notes->widths.target = + notes->widths.min_addr = hex_width(symbol__size(sym)); + notes->widths.max_addr = hex_width(sym->end); + notes->widths.jumps = width_jumps(notes->max_jump_sources); +} + void annotation__update_column_widths(struct annotation *notes) { if (notes->options->use_offset) |
