Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752494Ab3FZMja (ORCPT ); Wed, 26 Jun 2013 08:39:30 -0400 Received: from mail-ob0-f169.google.com ([209.85.214.169]:61667 "EHLO mail-ob0-f169.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751883Ab3FZMj2 (ORCPT ); Wed, 26 Jun 2013 08:39:28 -0400 MIME-Version: 1.0 In-Reply-To: <20130626091346.GB1019@krava.brq.redhat.com> References: <20130626091346.GB1019@krava.brq.redhat.com> Date: Wed, 26 Jun 2013 14:39:28 +0200 Message-ID: Subject: Re: [BUG] perf report: garbage output with event grouping From: Stephane Eranian To: Jiri Olsa Cc: LKML , Namhyung Kim , Peter Zijlstra , "mingo@elte.hu" , Arnaldo Carvalho de Melo , David Ahern Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2774 Lines: 64 On Wed, Jun 26, 2013 at 11:13 AM, Jiri Olsa wrote: > On Wed, Jun 26, 2013 at 10:42:49AM +0200, Stephane Eranian wrote: >> Hi, >> >> >> $ perf record -e 'cpi{cycles,instructions}' noploop 5 >> >> $ perf report --stdio --group >> # group: ^P^Q\{cycles,instructions} >> # ======== >> # >> # Samples: 39K of event '^P^Q\ { cycles, instructions }' >> # Event count (approx.): 37782563692 >> # >> # Overhead Command Shared Object Symbol >> # ................ ....... ................. ........................... >> # >> 99.91% 99.98% noploop noploop [.] main >> 0.06% -nan% noploop [kernel.kallsyms] [k] read_hpet >> 0.01% 0.01% noploop [kernel.kallsyms] [k] __acct_update_integrals >> 0.01% -nan% noploop [kernel.kallsyms] [k] raise_softirq >> 0.01% -nan% noploop [kernel.kallsyms] [k] apic_timer_interrupt >> 0.01% -nan% noploop [kernel.kallsyms] [k] __do_softirq >> 0.01% -nan% noploop [kernel.kallsyms] [k] common_interrupt >> 0.00% 0.00% noploop [kernel.kallsyms] [k] intel_pmu_enable_all >> 0.00% 0.01% noploop [kernel.kallsyms] [k] cpuacct_account_field >> 0.00% 0.01% noploop [kernel.kallsyms] [k] __local_bh_enable >> >> >> 1. The group name is garbage if not anonymous group. >> 2. arithmetic error in the overhead columns leading to NaN. >> 3. I assume the Overhead column order is the group event order. Is that right? > > hi > > 1) attached patch fixies that for me > 2) I cannot reproduce this one on acme's tree > 3) right, and we do need event names there ;-) > > --- > diff --git a/tools/perf/util/header.c b/tools/perf/util/header.c > index 738d3b8..673d98c 100644 > --- a/tools/perf/util/header.c > +++ b/tools/perf/util/header.c > @@ -2089,7 +2089,7 @@ static int process_group_desc(struct perf_file_section *section __maybe_unused, > evsel->leader = evsel; > /* {anon_group} is a dummy name */ > if (strcmp(desc[i].name, "{anon_group}")) > - evsel->group_name = desc[i].name; > + evsel->group_name = strdup(desc[i].name); > evsel->nr_members = desc[i].nr_members; > > if (i >= nr_groups || nr > 0) { Ok, works. Submit the patch please. Related question: trying to understand the point of naming a group. Is this used somewhere else in perf report/annotate? -- 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/