Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756374AbbLXBTY (ORCPT ); Wed, 23 Dec 2015 20:19:24 -0500 Received: from mail.kernel.org ([198.145.29.136]:54817 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751665AbbLXBTX (ORCPT ); Wed, 23 Dec 2015 20:19:23 -0500 Date: Wed, 23 Dec 2015 22:19:15 -0300 From: Arnaldo Carvalho de Melo To: Namhyung Kim Cc: Ingo Molnar , Peter Zijlstra , Jiri Olsa , LKML , David Ahern , Steven Rostedt , Frederic Weisbecker , Andi Kleen , Wang Nan Subject: Re: [PATCH 02/13] perf hist: Save raw_data/size for tracepoint events Message-ID: <20151224011915.GO19926@kernel.org> References: <1450804030-29193-1-git-send-email-namhyung@kernel.org> <1450804030-29193-3-git-send-email-namhyung@kernel.org> <20151223214335.GN19926@kernel.org> <20151224004545.GA9554@danjae.kornet> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20151224004545.GA9554@danjae.kornet> X-Url: http://acmel.wordpress.com User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2990 Lines: 83 Em Thu, Dec 24, 2015 at 09:45:45AM +0900, Namhyung Kim escreveu: > Hi Arnaldo, > > On Wed, Dec 23, 2015 at 06:43:35PM -0300, Arnaldo Carvalho de Melo wrote: > > Em Wed, Dec 23, 2015 at 02:06:59AM +0900, Namhyung Kim escreveu: > > > The raw_data and raw_size fields are to provide tracepoint specific > > > information. They will be used by dynamic sort keys later. > > > > > > Signed-off-by: Namhyung Kim > > > --- > > > tools/perf/util/hist.c | 4 ++++ > > > tools/perf/util/sort.h | 2 ++ > > > 2 files changed, 6 insertions(+) > > > > > > diff --git a/tools/perf/util/hist.c b/tools/perf/util/hist.c > > > index 039bb91d0a92..c0c92a3daa69 100644 > > > --- a/tools/perf/util/hist.c > > > +++ b/tools/perf/util/hist.c > > > @@ -487,6 +487,8 @@ struct hist_entry *__hists__add_entry(struct hists *hists, > > > .branch_info = bi, > > > .mem_info = mi, > > > .transaction = sample->transaction, > > > + .raw_data = sample->raw_data, > > > + .raw_size = sample->raw_size, > > > > So, sample->raw_data is just a pointer to perf_event_sample->array, that > > may be overwritten, no? > > I couldn't find where the array data is overwritten. The > __perf_session__process_events() mmaps with PROT_READ basically. But > the mmap can be munmapped on 32 bit systems. I'll keep a copy then. perf top, aka mmap with overwrite mode? I think we should always think first at how to make such new features to work on 'perf top', where there is no such thing as a "file", but a _ring_ buffer, where we reuse that buffer when we fill it up, so we should not keep any pointers to past events, just use what in the currently being processed. Haven't looked, do we need to access it after we add the hist, or just after the perf_sample is parsed? > > Looking at the other patches. > > Thanks, > Namhyung > > > > > - Arnaldo > > > > > }; > > > > > > return hists__findnew_entry(hists, &entry, al, sample_self); > > > @@ -801,6 +803,8 @@ iter_add_next_cumulative_entry(struct hist_entry_iter *iter, > > > .sym = al->sym, > > > }, > > > .parent = iter->parent, > > > + .raw_data = sample->raw_data, > > > + .raw_size = sample->raw_size, > > > }; > > > int i; > > > struct callchain_cursor cursor; > > > diff --git a/tools/perf/util/sort.h b/tools/perf/util/sort.h > > > index 86f05e7a5566..d29898708dbd 100644 > > > --- a/tools/perf/util/sort.h > > > +++ b/tools/perf/util/sort.h > > > @@ -122,6 +122,8 @@ struct hist_entry { > > > struct branch_info *branch_info; > > > struct hists *hists; > > > struct mem_info *mem_info; > > > + void *raw_data; > > > + u32 raw_size; > > > struct callchain_root callchain[0]; /* must be last member */ > > > }; > > > > > > -- > > > 2.6.4 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/