lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Sun, 5 Jan 2014 17:16:32 +0100 From: Jiri Olsa <jolsa@...hat.com> To: Namhyung Kim <namhyung@...nel.org> Cc: Arnaldo Carvalho de Melo <acme@...stprotocols.net>, Peter Zijlstra <a.p.zijlstra@...llo.nl>, Paul Mackerras <paulus@...ba.org>, Ingo Molnar <mingo@...nel.org>, Namhyung Kim <namhyung.kim@....com>, LKML <linux-kernel@...r.kernel.org>, Arun Sharma <asharma@...com>, Frederic Weisbecker <fweisbec@...il.com>, Rodrigo Campos <rodrigo@...g.com.ar> Subject: Re: [PATCH 03/21] perf hists: Add support for accumulated stat of hist entry On Tue, Dec 24, 2013 at 05:22:09PM +0900, Namhyung Kim wrote: > From: Namhyung Kim <namhyung.kim@....com> > > Maintain accumulated stat information in hist_entry->stat_acc if > symbol_conf.cumulate_callchain is set. Fields in ->stat_acc have same > vaules initially, and will be updated as callchain is processed later. > > Cc: Arun Sharma <asharma@...com> > Cc: Frederic Weisbecker <fweisbec@...il.com> > Signed-off-by: Namhyung Kim <namhyung@...nel.org> > --- > tools/perf/util/hist.c | 18 ++++++++++++++++++ > tools/perf/util/sort.h | 1 + > tools/perf/util/symbol.h | 1 + > 3 files changed, 20 insertions(+) > > diff --git a/tools/perf/util/hist.c b/tools/perf/util/hist.c > index 283aa1972b4f..b61e2fa42412 100644 > --- a/tools/perf/util/hist.c > +++ b/tools/perf/util/hist.c > @@ -237,6 +237,8 @@ static bool hists__decay_entry(struct hists *hists, struct hist_entry *he) > return true; > > he_stat__decay(&he->stat); > + if (symbol_conf.cumulate_callchain) > + he_stat__decay(he->stat_acc); > > if (!he->filtered) > hists->stats.total_period -= prev_period - he->stat.period; > @@ -284,6 +286,15 @@ static struct hist_entry *hist_entry__new(struct hist_entry *template) > if (he != NULL) { > *he = *template; > > + if (symbol_conf.cumulate_callchain) { > + he->stat_acc = malloc(sizeof(he->stat)); > + if (he->stat_acc == NULL) { > + free(he); > + return NULL; > + } > + memcpy(he->stat_acc, &he->stat, sizeof(he->stat)); > + } > + > if (he->ms.map) > he->ms.map->referenced = true; > > @@ -295,6 +306,7 @@ static struct hist_entry *hist_entry__new(struct hist_entry *template) > */ > he->branch_info = malloc(sizeof(*he->branch_info)); > if (he->branch_info == NULL) { > + free(he->stat_acc); > free(he); > return NULL; hum, he->stat_acc should get freed in hist_entry__free jirka -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists