Messages in this thread | | | Date | Tue, 27 Nov 2018 10:34:54 +0100 | From | Jiri Olsa <> | Subject | Re: [PATCH 2/2] perf report: Display average IPC and IPC coverage per symbol |
| |
On Tue, Nov 27, 2018 at 11:42:12AM +0800, Jin, Yao wrote: > > > On 11/26/2018 5:55 PM, Jiri Olsa wrote: > > On Mon, Nov 26, 2018 at 05:40:54PM +0800, Jin Yao wrote: > > > > SNIP > > > > > diff --git a/tools/perf/util/sort.c b/tools/perf/util/sort.c > > > index f96c005..94f62c8 100644 > > > --- a/tools/perf/util/sort.c > > > +++ b/tools/perf/util/sort.c > > > @@ -13,6 +13,7 @@ > > > #include "strlist.h" > > > #include <traceevent/event-parse.h> > > > #include "mem-events.h" > > > +#include "annotate.h" > > > #include <linux/kernel.h> > > > regex_t parent_regex; > > > @@ -422,6 +423,47 @@ struct sort_entry sort_srcline_to = { > > > .se_width_idx = HISTC_SRCLINE_TO, > > > }; > > > +static int hist_entry__sym_ipc_snprintf(struct hist_entry *he, char *bf, > > > + size_t size, unsigned int width) > > > +{ > > > + > > > + struct symbol *sym = he->ms.sym; > > > + struct map *map = he->ms.map; > > > + struct perf_evsel *evsel = hists_to_evsel(he->hists); > > > + struct annotation *notes; > > > + double ipc = 0.0, coverage = 0.0; > > > + char tmp[64]; > > > + > > > + if (!sym) > > > + return repsep_snprintf(bf, size, "%-*s", width, "-"); > > > + > > > + if (!sym->annotated && > > > + symbol__annotate2(sym, map, evsel, &annotation__default_options, > > > + NULL) < 0) { > > > + return 0; > > > + } > > > > this seems to make the sorting extra long, would you > > please consider progress bar update for this? > > > > should be added somewhere around hists sorting code > > > > Hi Jiri, > > Sorting doesn't take long time in my test but the session event processing > takes some time. > > I just think maybe we need a new ops for stdio progress bar like what the > tui_progress__ops does now. That should be benefit for all stdio usages. > > That may be another separate patch-set.
sure, thanks
jirka
| |