Received: by 2002:a25:e74b:0:0:0:0:0 with SMTP id e72csp597485ybh; Wed, 15 Jul 2020 10:03:44 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz2jOuMva/KfCqfep9tub6HZQGpmNXVRn34MafcUBRyk3yrfbNLvLjkAmHzbi44vGG2Dpmr X-Received: by 2002:a17:906:94c4:: with SMTP id d4mr9835179ejy.232.1594832624583; Wed, 15 Jul 2020 10:03:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1594832624; cv=none; d=google.com; s=arc-20160816; b=srpBxTrZ+f8QTISDc5DerrcevZQqlul+tqxIIP1RCSWlm/d0js9Q0dlXJ8SpSKFVXW SbNo6tmETHySWJcYsNqWlTFLb5f20Kn3/gDE7GzHgbi+7ptIAxSlepjld9Y7rqb5TxeU dP8e6+NSIpU88fE+8LCXMkAnaosBGbmf7VT94zgL44o08kVA2BoAD/c/8G5lZ5ThXLFp rtpl0ntoss9YQRh1suYyJD2d36VNGsvAYhkeGkp6a+ZlE62R4JBx7EAS/rFSvcaRbJ/O NyJTOf9uDzruv/xB88OYRhxFy2T/KRc6RpkL+zigITQNCVKxmPET2coeyjNBoP6cMh/z IRzw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=l2eBn3+EVfj8N4psyRPlN3zHm1Nlg+2LJ1kPRxLMMbY=; b=b1lOJpRwYm0rkr62X2CSmCh4G/zyJBp5vQqUlYU38dTd3Ohjf77LBVkK2IzU7QaXGB D/N4KyQy0Zhfo5gC4T4p/wzxWuLe77l7aX+0fkbxBBgmJ5N83N6dG1SAwd4w8OJYC9LE IynUo6DjystYnBJjWXHiNIUAPlejd2oZJzVl9WtwYJjC9DW8T1UQcCazo5sLIW1EiHnQ OlGK3qMw380dssbpcRKGygm5oP9hyVbdsDdkn8rR8Z+b9wU9c2h0N6aZEKchUGwWQR4t x4XIm4h0flqeE1BTUcPQJd1/kR7yYb4Cl86Anlu94u76O3RE0HWANTGlF97C3VGRSu/1 16Nw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b="EwF/zsrY"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id n3si1546903edv.602.2020.07.15.10.03.20; Wed, 15 Jul 2020 10:03:44 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b="EwF/zsrY"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726160AbgGORAX (ORCPT + 99 others); Wed, 15 Jul 2020 13:00:23 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46660 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725798AbgGORAW (ORCPT ); Wed, 15 Jul 2020 13:00:22 -0400 Received: from mail-wm1-x342.google.com (mail-wm1-x342.google.com [IPv6:2a00:1450:4864:20::342]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6958AC061755 for ; Wed, 15 Jul 2020 10:00:22 -0700 (PDT) Received: by mail-wm1-x342.google.com with SMTP id l2so6536154wmf.0 for ; Wed, 15 Jul 2020 10:00:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=l2eBn3+EVfj8N4psyRPlN3zHm1Nlg+2LJ1kPRxLMMbY=; b=EwF/zsrYrLoNZL+1mhpkV26aToBaZ70ZYFZgmoEIxoLMHKf9jrheCesgW5aCeCl2ZH x2Bki76zqs/Vwha9F1oU+5K5yOTdqQUe3cW3kGaAjkb0TsRZ277DFapOwgwf7fRFve6u uwEpsCKJcEOpKcR+/SgJbG8BptO/dN5tzfXrgF4lwQ+b4RS4YeAU2Tkqpk2ykDhS1NZE Kf1toOB8Gfe0QtzZ8ljeIb9b1EtdJN1BWhVFPDUN3Lz4Q0dIwAr8q6gbxEFd4Yxf65hH beIfVfFn0aVTjBR8sMmjvmsGTd7iD93KdrpYo0X683xK91TJIKmKXvBBsUWfMaArcKDg rUbQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=l2eBn3+EVfj8N4psyRPlN3zHm1Nlg+2LJ1kPRxLMMbY=; b=Y9f9CmlV6QMGYZcr8gAUrUbPQx7Z/8q6KYW6p6lxgrR0ZlDKEkcMna+lJjGowCTVfJ hPMudXrKKGU8VZ79TEqyZGZDLEUm+WpLKQEjADEAv45Iwu+Hms2cVf7NeG5z7FhTjCRi hRspnBbLF8Zx529EgTUGSrhUQnRtnrJkBUI4Xzuph9dVgWRPcFkcLaRwb7e2vndeRhxx /UnongVfTC0tfXnJT0kTs22fIEkaN1eyr2UV0uFpwUTv589S6XonWjFP5TR/y9/jlU9P 8yEu6K40ci67UxY4rMyCHVdj/F33dFV+gHq30uXGetXkrglVx7IjwLfqyb99cO5oVb+s RxHg== X-Gm-Message-State: AOAM532ps5+aMbKdOSEQbxJY3eVb8eLCoe1FuP2G15W2y9OFV+x9Yl5o SLUYrkCYD9NT31ZHQwlE/GVBOFSBx3TOiJSmIzamiw== X-Received: by 2002:a1c:19c5:: with SMTP id 188mr378094wmz.124.1594832420926; Wed, 15 Jul 2020 10:00:20 -0700 (PDT) MIME-Version: 1.0 References: <20200712132634.138901-1-jolsa@kernel.org> <20200712132634.138901-14-jolsa@kernel.org> In-Reply-To: <20200712132634.138901-14-jolsa@kernel.org> From: Ian Rogers Date: Wed, 15 Jul 2020 10:00:09 -0700 Message-ID: Subject: Re: [PATCH 13/18] perf metric: Add events for the current group To: Jiri Olsa Cc: Arnaldo Carvalho de Melo , lkml , Ingo Molnar , Namhyung Kim , Alexander Shishkin , Peter Zijlstra , Michael Petlan , Andi Kleen , Kajol Jain , John Garry , "Paul A. Clarke" , Stephane Eranian Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sun, Jul 12, 2020 at 6:27 AM Jiri Olsa wrote: > > There's no need to iterate the whole list of groups, > when adding new events. The currently created group > is the one we want to add. > > Signed-off-by: Jiri Olsa > --- > tools/perf/util/metricgroup.c | 22 ++++++++++++---------- > 1 file changed, 12 insertions(+), 10 deletions(-) > > diff --git a/tools/perf/util/metricgroup.c b/tools/perf/util/metricgroup.c > index 8cbcc5e05fef..66f25362702d 100644 > --- a/tools/perf/util/metricgroup.c > +++ b/tools/perf/util/metricgroup.c > @@ -811,17 +811,19 @@ static int metricgroup__add_metric(const char *metric, bool metric_no_group, Could we add a function comment to describe the arguments here? Currently events is an empty list out argument that is built up by this code, now it will be incrementally updated. Except I don't think I'm capturing the current state correctly, it is confusing that there is the loop in the current code. It looks like events will be added multiple times redundantly. > if (ret) > return ret; > > - list_for_each_entry(eg, group_list, nd) { > - if (events->len > 0) > - strbuf_addf(events, ","); > + if (events->len > 0) > + strbuf_addf(events, ","); > > - if (eg->has_constraint) { > - metricgroup__add_metric_non_group(events, > - &eg->pctx); > - } else { > - metricgroup__add_metric_weak_group(events, > - &eg->pctx); > - } > + /* > + * Even if we add multiple groups through the runtime > + * param, they share same events. > + */ I'm not clear what runtime param is here. Is it the \? arch runtime parameter? Thanks, Ian > + if (eg->has_constraint) { > + metricgroup__add_metric_non_group(events, > + &eg->pctx); > + } else { > + metricgroup__add_metric_weak_group(events, > + &eg->pctx); > } > return 0; > } > -- > 2.25.4 >