Received: by 2002:a25:683:0:0:0:0:0 with SMTP id 125csp291352ybg; Mon, 1 Jun 2020 01:10:34 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyWJI4MubQS6bTcLDI3WXUTj/4TKNMvYdYCoZVAJcgwdMWwSe7IsWnjgcYewDjbtAzJlUiv X-Received: by 2002:aa7:c5c8:: with SMTP id h8mr20035490eds.222.1590999034573; Mon, 01 Jun 2020 01:10:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590999034; cv=none; d=google.com; s=arc-20160816; b=EmnXHdDzqs+Sg5MvQv0+IhZleFBUnkPEhK/ZBH9uGxGTCbTwHecDPYz6dTdC+nX0Qn pUAvPIbRV8qXNgVMPsegtBcZJ0V7jYvnQZg9NMi9+LQl9aHzTjynPcTA5zbSjdh5E2Rz mHRYjn+vglmfX130srLcqljvUqUa9hCfWu8u7p4B8xtf16jMy0hczzFyt+NvhLasJsLQ ptF7zDSSpRPNzbud+fGODs7VHOAP6+Rvtx4osTYESHOZ5Svcwa7Dwdq1xe1UPO+iC00V gjU4K3ncM+BAsLLXHDjgcHeu9PQnA4qiFG+MOcKMN9vJ7N3uImyoqq+gXxuIJYM7rL/9 VZNA== 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=d59FlMXkZZoVBeLzdnN0v1/ojzLIURQn/Bd884+qmDQ=; b=UMbWjSJLooHy1ltDF8e4ydgj0tJvUUIsK9nudTKAuqQCUKqFdvOWpbfA/QyBnjOnff ootKmJnnY6H+AxTIuOJZ/an6ZFDb3KD6wTinyLM+M8XJ43ebpYbLqRdXirxOSDO/hjiy lQ0zgncrIC665pd9uf0t8esJKZlaOcp2ranKe6FN9q8A/SS76mVs40MNQ6Ck3FbGzoSn lR1gPjWwQkW1tp9ZuVaKQ9tjVuN0AEmsVrIh72u5hAn43TBlJoDJAK+0IpqsJnKvf60N fIKwnCwwc89OHDflXbu+fG9KN/Xa55RvBW+bMe1FX528Lp62GzNqbpHkVQUKdC9pjptG vTWA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=ULsalHO0; 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 k11si692690eji.338.2020.06.01.01.10.11; Mon, 01 Jun 2020 01:10:34 -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=ULsalHO0; 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 S1728103AbgFAIGP (ORCPT + 99 others); Mon, 1 Jun 2020 04:06:15 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56312 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726056AbgFAIGO (ORCPT ); Mon, 1 Jun 2020 04:06:14 -0400 Received: from mail-yb1-xb42.google.com (mail-yb1-xb42.google.com [IPv6:2607:f8b0:4864:20::b42]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7EB67C061A0E for ; Mon, 1 Jun 2020 01:06:14 -0700 (PDT) Received: by mail-yb1-xb42.google.com with SMTP id n123so4744829ybf.11 for ; Mon, 01 Jun 2020 01:06:14 -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=d59FlMXkZZoVBeLzdnN0v1/ojzLIURQn/Bd884+qmDQ=; b=ULsalHO0uqDfPINCiy70pX46VaQZMMn8knrqTo9BoOv/xI/f43NGcatb6Ws+r3H7eu q1e5LA33Z4AEnxa/PwE80tZXRegVVz9JQSHlXa8JVIpFHq1JnqaIu2AqyWv96EKtfUpu 1Zb6fkwZVkRgSkZoqY9DCF7wHzpjtL35M/KFjaaaCfMxBP3CbZnl3shLUQqsXwOmDYxV FQfRZ5++bxd3SpgnKZaTpvl4hZQzcZWW7GobRBfNqf5wdwVzRHkBBYkrlSCelae3tnGX JAoqVVASWYqY6f/AnihnyKwVPjspfyUDwGQqTTiqaRUttyCQN0FRpgN/pVOXChIxyMWM PYkA== 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=d59FlMXkZZoVBeLzdnN0v1/ojzLIURQn/Bd884+qmDQ=; b=fPKaMEA/fYyxxwFoH7aJkXf2OQItiHFgQhWUPNyNVt0gVC+t9dFhUNg3lLlJ1lhy4s qfGseERe1yrqOIOokFaUXu9ULKg+jVHo11E6DTa27DY+g7zPRaSVbaOpdTeuXSedqI2F nrABYpZ7aKNRuJUaazoTZld0MNSVP0J11F+R1wA9h9Tc7nm5k7yN5ck1cY2k72c5ucwW wWpR1kYwNvixWs4FBsy7wkwUrRZdR45mH5lij/7149yplufl3naPen+0IACev37oUjOO pcHTQUKLjFrmLUbsWCx43Ufwob1HhU9Yx6tMnSDXpauNVBegntX18zGPqXjJYQMYMx95 O+0A== X-Gm-Message-State: AOAM530nIsOIJEk8iJITp6EvaG5ktkd8pLR1XJ1snoMwe72TnZkAYBC7 A8mvKP3VrgwOHhsiMj0Fwbra7tsH5+7Wm0KyQxsDGNxi X-Received: by 2002:a5b:ec1:: with SMTP id a1mr7817315ybs.41.1590998773488; Mon, 01 Jun 2020 01:06:13 -0700 (PDT) MIME-Version: 1.0 References: <20200524224219.234847-1-jolsa@kernel.org> <20200524224219.234847-15-jolsa@kernel.org> In-Reply-To: <20200524224219.234847-15-jolsa@kernel.org> From: Ian Rogers Date: Mon, 1 Jun 2020 01:06:01 -0700 Message-ID: Subject: Re: [PATCH 14/14] perf tests: Add parse metric test for frontend metric To: Jiri Olsa Cc: Arnaldo Carvalho de Melo , lkml , Ingo Molnar , Namhyung Kim , Alexander Shishkin , Peter Zijlstra , Michael Petlan , Stephane Eranian , Andi Kleen 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, May 24, 2020 at 3:43 PM Jiri Olsa wrote: > > Adding new metri test for frontend metric. It's stolen s/metri/metric/ > from x86 pmu events. > > Signed-off-by: Jiri Olsa Acked-by: Ian Rogers Thanks, Ian > --- > tools/perf/tests/parse-metric.c | 46 +++++++++++++++++++++++++++++++++ > 1 file changed, 46 insertions(+) > > diff --git a/tools/perf/tests/parse-metric.c b/tools/perf/tests/parse-metric.c > index 3005d27c5c48..38f20850bba3 100644 > --- a/tools/perf/tests/parse-metric.c > +++ b/tools/perf/tests/parse-metric.c > @@ -15,6 +15,11 @@ static struct pmu_event pme_test[] = { > .metric_expr = "inst_retired.any / cpu_clk_unhalted.thread", > .metric_name = "IPC", > }, > +{ > + .metric_expr = "idq_uops_not_delivered.core / (4 * (( ( cpu_clk_unhalted.thread / 2 ) * " > + "( 1 + cpu_clk_unhalted.one_thread_active / cpu_clk_unhalted.ref_xclk ) )))", > + .metric_name = "Frontend_Bound_SMT", > +}, > }; > > static struct pmu_events_map map = { > @@ -110,8 +115,49 @@ static int test_ipc(void) > return 0; > } > > +static int test_frontend(void) > +{ > + double ratio; > + struct rblist metric_events = { 0 }; > + struct evlist *evlist; > + struct evsel *evsel; > + struct value vals[] = { > + { .event = "idq_uops_not_delivered.core", .val = 300 }, > + { .event = "cpu_clk_unhalted.thread", .val = 200 }, > + { .event = "cpu_clk_unhalted.one_thread_active", .val = 400 }, > + { .event = "cpu_clk_unhalted.ref_xclk", .val = 600 }, > + { 0 }, > + }; > + struct runtime_stat st; > + int err; > + > + evlist = evlist__new(); > + if (!evlist) > + return -1; > + > + err = metricgroup__parse_groups_test(evlist, &map, > + "Frontend_Bound_SMT", > + false, false, > + &metric_events); > + > + TEST_ASSERT_VAL("failed to parse metrics", err == 0); > + > + runtime_stat__init(&st); > + load_runtime_stat(&st, evlist, vals); > + > + evsel = evlist__first(evlist); > + ratio = compute_single(&metric_events, evsel, &st); > + > + TEST_ASSERT_VAL("Frontend_Bound_SMT failed, wrong ratio", ratio == 0.45); > + > + runtime_stat__exit(&st); > + evlist__delete(evlist); > + 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); > return 0; > } > -- > 2.25.4 >