Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751728AbbLMXXo (ORCPT ); Sun, 13 Dec 2015 18:23:44 -0500 Received: from mx1.redhat.com ([209.132.183.28]:39066 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751576AbbLMXXk (ORCPT ); Sun, 13 Dec 2015 18:23:40 -0500 Date: Mon, 14 Dec 2015 00:23:30 +0100 From: Jiri Olsa To: Namhyung Kim Cc: Arnaldo Carvalho de Melo , Ingo Molnar , Peter Zijlstra , LKML , David Ahern , Frederic Weisbecker , Andi Kleen , Stephane Eranian , Adrian Hunter Subject: Re: [PATCH/RFC 09/16] perf tools: Update hist entry's hists pointer Message-ID: <20151213232330.GC19257@krava.local> References: <1449734015-9148-1-git-send-email-namhyung@kernel.org> <1449734015-9148-10-git-send-email-namhyung@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1449734015-9148-10-git-send-email-namhyung@kernel.org> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1492 Lines: 43 On Thu, Dec 10, 2015 at 04:53:28PM +0900, Namhyung Kim wrote: > When sample is processed using multi-thread, each sample is gathered on > each thread's hist tree and then merged into the real hist tree. But > hist_entry->hists pointer was not updated so it could refer wrong hists > resulted in missing outputs. > > Signed-off-by: Namhyung Kim > --- > tools/perf/util/hist.c | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/tools/perf/util/hist.c b/tools/perf/util/hist.c > index ea4f3ad978b0..a12e5022fe04 100644 > --- a/tools/perf/util/hist.c > +++ b/tools/perf/util/hist.c > @@ -1008,6 +1008,14 @@ bool hists__collapse_insert_entry(struct hists *hists __maybe_unused, there's 'struct hists *hists __maybe_unused' in hists__collapse_insert_entry def.. jirka > } > hists->nr_entries++; > > + /* > + * If a hist entry is processed in multi-threaded environment, > + * it points to a dummy local hists which was used only for > + * intermidate processing. So update it to a real one so that > + * it can find the correct info later. > + */ > + he->hists = hists; > + > rb_link_node(&he->rb_node_in, parent, p); > rb_insert_color(&he->rb_node_in, root); > return true; > -- > 2.6.2 > -- 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/