Received: by 2002:a25:e74b:0:0:0:0:0 with SMTP id e72csp599512ybh; Wed, 15 Jul 2020 10:06:36 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxS8VhvoIXu8eHuo+fq72NQ3h9DRFZyz6rQ+RPkHD29mdDPCSJmvdR0URmkQV0gPAL2wpPh X-Received: by 2002:a17:906:7e04:: with SMTP id e4mr10819114ejr.83.1594832795903; Wed, 15 Jul 2020 10:06:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1594832795; cv=none; d=google.com; s=arc-20160816; b=u+LqiYHNbQHvj/8mTXgPt+ZagynsD/QEtKtdRNbGdHfaubWjdtF8YjkhmCA1YmBEql 96qcGGMEH8Wsa/V4wvEPVCvitkj/NgVjV7pa/ihauncxa76BLpAE+P2jyLXZ+QX9z+NV 9UWM8v9LJzEWqMLO812KoeNwSRVWDB3ZNTqhRAAxUIPscEXXKfOXm1P2B+KPz56+69BQ 9Z2OK8+Oo0L+JbOCiJT2FyffkdfyizTK6Pg9ik738FHHcM5uDnn25ufvCSk8cYMQcy7E aNlUm324teJX6x2KABlkdF0PKA+SBvdmRzUwVKwpIG61q3fsOC4yAzAfwt/yTBdJoA3Y kYmA== 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=1ljeW+fwCYJkj5PP4KJ8WHN1ZOFRAHwVv/b1xKlVN6k=; b=xl4UH+/zoYJztmf+l2MUXlRnrDU6ZgQgbP659NXAyZycWfXgLJjWP8ekSW1a7Y8fp+ A8lasBxtG7FbCg6Gfs82Yc9bUcZsOqxkfmKWjrJRjv9kEEHnDLBfj3WIuR2RhMgAbG4l RUevEezp5/lXFci34iRkBQRr2KR9CDIbeiK+dSQ43+VovBrtGnvRWBUX4os75TcTdoSo 0YpMbIfqdq9HstL73xTuBXvzg/FbNhTjLceJ+A06pGD5EhAraF8pGvdvFR/1ROEXKgGO sZ9w7S7oshirYTzPaWMpFf6zTmpqTq9km6reDh5vFNAhh6ncJM7a27R3SOLhrD/Juk7C YimA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=ZJya455B; 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.06.08; Wed, 15 Jul 2020 10:06:35 -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=ZJya455B; 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 S1726812AbgGOREh (ORCPT + 99 others); Wed, 15 Jul 2020 13:04:37 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47320 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725900AbgGOREh (ORCPT ); Wed, 15 Jul 2020 13:04:37 -0400 Received: from mail-wr1-x442.google.com (mail-wr1-x442.google.com [IPv6:2a00:1450:4864:20::442]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B34CEC061755 for ; Wed, 15 Jul 2020 10:04:36 -0700 (PDT) Received: by mail-wr1-x442.google.com with SMTP id r12so3398347wrj.13 for ; Wed, 15 Jul 2020 10:04:36 -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=1ljeW+fwCYJkj5PP4KJ8WHN1ZOFRAHwVv/b1xKlVN6k=; b=ZJya455BxgcVZNeM5bfWcisd0EW0sKwbvKPnF6boT6dAWRQMltcgqHJGxhPdiOWMEE utyMoxt8f2WGgmTb7YnF5TOwIM/G+/A5yvgF1ipiDBwcWoTv5OtoeSyz+Tq2/QvaADzN WEnKEz4PCpvROEg0CdqMATyOd/YRzw0yW9u6pkPRHryBFtk8VYDt3xCVqajCZq17Uz/f RcsH59SsgxtLy8KhKjtbrGg9VsEX0csj8TO6R1RuAZl8VY/92jLY2iG76Gy9kMcX8zor 4gsYHb1zF3RUQ1Q1bWk+k3OxYZUVWokl64LGMWgKGWSfzFCVvy4ojzSiGmzGBZt0EdkJ V/CQ== 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=1ljeW+fwCYJkj5PP4KJ8WHN1ZOFRAHwVv/b1xKlVN6k=; b=Lywr8xllbizBj5TuIkyOfeXte62OpgHxtopBSQAaPcqvgYwsRxECc0M/xAkCv/WqcO m9DivJjYTO5nkv3CnLuuQ/lcxixiQ5K2caEZTgMrbEP0zHa+DpaQ+WLOajYFTlPT1h1K 9mUPWJJFgNuK8gn3hiFB1xTas71xQiKSYIc3HZXZnn7RI+97gggwZw2CUiqOOdMUOQZh jaj8wTEQbeJHFK5gsoOmnPsHPkvvK7QmrcXafXAMxrEvDXqVo0A/2JkpkbNWsfVPfSBw waTyaDJDDlzzdQfdIV1ql61KYY+wNkC9xQ/+7G1sSPWAWu9vGGQHp5hwfv0jxqIYnxDm sK9g== X-Gm-Message-State: AOAM530e6F+vGxPk8Q6maCKNh13zz2KVeslH8pODBHYugmNWAdWjbd8V 8yBYTh9Y0ymQFmB1SKiPJJiuvq/XFkeVyBWjw3Q/Kw== X-Received: by 2002:adf:e6cb:: with SMTP id y11mr329665wrm.282.1594832675313; Wed, 15 Jul 2020 10:04:35 -0700 (PDT) MIME-Version: 1.0 References: <20200712132634.138901-1-jolsa@kernel.org> <20200712132634.138901-15-jolsa@kernel.org> In-Reply-To: <20200712132634.138901-15-jolsa@kernel.org> From: Ian Rogers Date: Wed, 15 Jul 2020 10:04:24 -0700 Message-ID: Subject: Re: [PATCH 14/18] perf metric: Add cache_miss_cycles to metric parse test 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: > > Adding test that compute metric with other metrics in it. > > cache_miss_cycles = metric:dcache_miss_cpi + metric:icache_miss_cycles > > Signed-off-by: Jiri Olsa Acked-by: Ian Rogers Thanks! Ian > --- > tools/perf/tests/parse-metric.c | 33 +++++++++++++++++++++++++++++++++ > 1 file changed, 33 insertions(+) > > diff --git a/tools/perf/tests/parse-metric.c b/tools/perf/tests/parse-metric.c > index 8c48251425e1..28f33893338b 100644 > --- a/tools/perf/tests/parse-metric.c > +++ b/tools/perf/tests/parse-metric.c > @@ -11,6 +11,8 @@ > #include "debug.h" > #include "expr.h" > #include "stat.h" > +#include > +#include > > static struct pmu_event pme_test[] = { > { > @@ -22,6 +24,18 @@ static struct pmu_event pme_test[] = { > "( 1 + cpu_clk_unhalted.one_thread_active / cpu_clk_unhalted.ref_xclk ) )))", > .metric_name = "Frontend_Bound_SMT", > }, > +{ > + .metric_expr = "l1d\\-loads\\-misses / inst_retired.any", > + .metric_name = "dcache_miss_cpi", > +}, > +{ > + .metric_expr = "l1i\\-loads\\-misses / inst_retired.any", > + .metric_name = "icache_miss_cycles", > +}, > +{ > + .metric_expr = "(dcache_miss_cpi + icache_miss_cycles)", > + .metric_name = "cache_miss_cycles", > +}, > }; > > static struct pmu_events_map map = { > @@ -162,9 +176,28 @@ static int test_frontend(void) > return 0; > } > > +static int test_cache_miss_cycles(void) > +{ > + double ratio; > + struct value vals[] = { > + { .event = "l1d-loads-misses", .val = 300 }, > + { .event = "l1i-loads-misses", .val = 200 }, > + { .event = "inst_retired.any", .val = 400 }, > + { 0 }, > + }; > + > + TEST_ASSERT_VAL("failed to compute metric", > + compute_metric("cache_miss_cycles", vals, &ratio) == 0); > + > + TEST_ASSERT_VAL("cache_miss_cycles failed, wrong ratio", > + ratio == 1.25); > + return 0; > +} > + > int test__parse_metric(struct test *test __maybe_unused, int subtest __maybe_unused) > { > TEST_ASSERT_VAL("IPC failed", test_ipc() == 0); > TEST_ASSERT_VAL("frontend failed", test_frontend() == 0); > + TEST_ASSERT_VAL("cache_miss_cycles failed", test_cache_miss_cycles() == 0); > return 0; > } > -- > 2.25.4 >