Received: by 2002:a25:2c96:0:0:0:0:0 with SMTP id s144csp614077ybs; Sun, 24 May 2020 15:46:41 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy99ipXlTvQryVxAwrT3Mb6o9GvGmi+asOgBy0jr50jl5Vp0Rd4wAqh2PNThQIQUos8B+/+ X-Received: by 2002:a50:f086:: with SMTP id v6mr13259282edl.140.1590360401081; Sun, 24 May 2020 15:46:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590360401; cv=none; d=google.com; s=arc-20160816; b=tDnX1RwiVwI2t4861pV8j9Oj7t1BP7IKZCxtBgrz7U0M1ltka5aUe1uXQcmE/fKz4o 7VNg4AM2zOOWzwyBCXgI1dqQzYvg9/9wBTMn2mU8fSAJkMCytqSI3sJ1zHFO9NrFhO5i 2X4NtHqOzDUCGjBzyH4dErFPMqheQQSAcNfmelyES9qkJWNCtYKxW9xnKT7ysXtPxJZq 7wPLTDBoerT6MoJm+p77skZ6wWpJjMtZsxBAKdMbArEHOS7lqtfI/uH9hT2Bj+NOKQ2g 4EJ3zx8ZcDkPEgJxWwCLMA+lANbv1PR6juS4e2q0zyaZ+CKW78eRVMjC2lSXjj69MK0v k8XA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=wGoXMxAEsLP2k3IR9EN/LwtEUOJbwrOvNK4AnDJltBs=; b=tFSOmstCDaevsB6IPrDvYq/M6zUL+kwSc6ukMe2wW5kWqFLsI1N8Y5n1p58tSVbOKD RKCxvymAXWEt7DzycZSDDgOvaHzu2HOeP+yAXY77cCLmY/w9k454RCsLZhJycrQQldrk zkGsG4G2y+aKXgg5eSIcfMisxmEuUCxAPkl7ctfFlUbPbT4HIqUt5ZfnGtWeM1dviwRP 3iRAusbXw/CXmBsjObC7+OjQjybD8A42+74sOZPdd+Ezq1tvIvqG93HY8tokfZ1apVMJ JMhE5FVpp7yYWH6G7JqHb2oEYKAJ2bfunVU4FTYQZX7vLshPvPyYW/eVHfGuPNwJLsjP kuYw== ARC-Authentication-Results: i=1; mx.google.com; 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=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id q24si5990047edr.370.2020.05.24.15.46.19; Sun, 24 May 2020 15:46:41 -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; 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=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388660AbgEXWnP convert rfc822-to-8bit (ORCPT + 99 others); Sun, 24 May 2020 18:43:15 -0400 Received: from us-smtp-delivery-1.mimecast.com ([205.139.110.120]:55301 "EHLO us-smtp-1.mimecast.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S2388629AbgEXWnM (ORCPT ); Sun, 24 May 2020 18:43:12 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-512-2RDheh4OMEyjmavDF6JLtQ-1; Sun, 24 May 2020 18:43:07 -0400 X-MC-Unique: 2RDheh4OMEyjmavDF6JLtQ-1 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id C3195835B40; Sun, 24 May 2020 22:43:05 +0000 (UTC) Received: from krava.redhat.com (unknown [10.40.192.57]) by smtp.corp.redhat.com (Postfix) with ESMTP id 7643A6ED9C; Sun, 24 May 2020 22:43:03 +0000 (UTC) From: Jiri Olsa To: Arnaldo Carvalho de Melo Cc: lkml , Ingo Molnar , Namhyung Kim , Alexander Shishkin , Peter Zijlstra , Michael Petlan , Ian Rogers , Stephane Eranian , Andi Kleen Subject: [PATCH 14/14] perf tests: Add parse metric test for frontend metric Date: Mon, 25 May 2020 00:42:19 +0200 Message-Id: <20200524224219.234847-15-jolsa@kernel.org> In-Reply-To: <20200524224219.234847-1-jolsa@kernel.org> References: <20200524224219.234847-1-jolsa@kernel.org> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: kernel.org Content-Type: text/plain; charset=WINDOWS-1252 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Adding new metri test for frontend metric. It's stolen from x86 pmu events. Signed-off-by: Jiri Olsa --- 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