From nobody Mon Feb 9 13:02:18 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id A411BC77B7D for ; Sat, 13 May 2023 06:34:57 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232984AbjEMGez (ORCPT ); Sat, 13 May 2023 02:34:55 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36558 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229506AbjEMGew (ORCPT ); Sat, 13 May 2023 02:34:52 -0400 Received: from mail-yb1-xb49.google.com (mail-yb1-xb49.google.com [IPv6:2607:f8b0:4864:20::b49]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 86FD42D5B for ; Fri, 12 May 2023 23:34:51 -0700 (PDT) Received: by mail-yb1-xb49.google.com with SMTP id 3f1490d57ef6-ba71ed074ceso7158931276.0 for ; Fri, 12 May 2023 23:34:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20221208; t=1683959690; x=1686551690; h=cc:to:from:subject:mime-version:message-id:date:from:to:cc:subject :date:message-id:reply-to; bh=0p8d1w/pe9O+QCnFcGkr2LKxroB31jvE11GGSxuYfLg=; b=qeqhVVaqhMOViKbS7qJ+qBk3zWVdmuAad2hhyaH2tMjSExiybH8pRXhEhr/IWJoL9j iwjyoCGBbyGMaPAfQgGCNsancR1+2aFQ2h/PH1i1yt9igf1ryzmhs2QNSnEArhH0O1ny GcDOCgl1miurXs6uruHEBe1qE89qVsjxRpl5/EMwFnvzl85rkT5Dz6oI5/BfHQYNh51X 3lSCPxkrMFe8bQx5jkAjKuP70PEIry1HS4hSGIAOUBAYLYYUg9e0k2WqGQPN6fGlY3mE UdSdal1aQ8qQYyWKabHmRgRGPtlKFwBDdyGvUAtmY8QilF9cr+F3uzKwkloKjSEUl41M koeA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683959690; x=1686551690; h=cc:to:from:subject:mime-version:message-id:date:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=0p8d1w/pe9O+QCnFcGkr2LKxroB31jvE11GGSxuYfLg=; b=MqpeOcC5VH++ur06I14e1zPk35NOSVicggjaRaOQdTELOI/cfKOm1m5z4YbXCjNkAN itYMDPsesOUOzINiFPJvJJ1CqTV759PlHhhkwkXwkKwAxBxi8UnCst8o7DUd2i05VA0K 1C3aFJxNl7c9gmbj5RBAnLAvz8T+LtXZ7DVmnczLLNp/EwRY99ITfGLfnpy0sNWS/SER JZoj+46ANvHwztqxuCPee1+R+0vO8mrGEigsYnqMeXBoFoIp6gcfPaAkaavIislXvz4X l0E/C0Womn/SW257PLle+FHrRopdOyEKedGTo/IMVIjc51+KHv5bDMekBHKTdRflmEVC cx8g== X-Gm-Message-State: AC+VfDz4ds6W4ZgSqfhp6Diz+jxMeaJc3pYT9+mcaipxLQpiZVPwecCn 9pubI27cHEkhT+kZcXQjebssUlkQYfVi X-Google-Smtp-Source: ACHHUZ7zQYUHC2aQiVksyfSm70YyYLEyQCRWIdlqJZLEGQdW1oVWL/HLq0/4j++8+vJPvEbqMGSQnLecNCJl X-Received: from irogers.svl.corp.google.com ([2620:15c:2d4:203:9575:f2a2:614d:d082]) (user=irogers job=sendgmr) by 2002:a25:5e55:0:b0:ba2:58d2:bd86 with SMTP id s82-20020a255e55000000b00ba258d2bd86mr13886743ybb.5.1683959690694; Fri, 12 May 2023 23:34:50 -0700 (PDT) Date: Fri, 12 May 2023 23:34:47 -0700 Message-Id: <20230513063447.464691-1-irogers@google.com> Mime-Version: 1.0 X-Mailer: git-send-email 2.40.1.606.ga4b1b128d6-goog Subject: [PATCH v1] perf test: Add cputype testing to perf stat From: Ian Rogers To: Arnaldo Carvalho de Melo , Kan Liang , Ahmad Yasin , Peter Zijlstra , Ingo Molnar , Stephane Eranian , Andi Kleen , Perry Taylor , Samantha Alt , Caleb Biggers , Weilin Wang , Edward Baker , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Adrian Hunter , Florian Fischer , Rob Herring , Zhengjun Xing , John Garry , Kajol Jain , Sumanth Korikkar , Thomas Richter , Tiezhu Yang , Ravi Bangoria , Leo Yan , Yang Jihong , James Clark , Suzuki Poulouse , Kang Minchul , Athira Rajeev , linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Ian Rogers Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Check a bogus PMU fails and that a known PMU succeeds. Limit to PMUs known cpu, cpu_atom and armv8_pmuv3_0 ones. Signed-off-by: Ian Rogers --- tools/perf/tests/shell/stat.sh | 44 ++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/tools/perf/tests/shell/stat.sh b/tools/perf/tests/shell/stat.sh index b154fbb15d54..3f1e67795490 100755 --- a/tools/perf/tests/shell/stat.sh +++ b/tools/perf/tests/shell/stat.sh @@ -103,10 +103,54 @@ test_topdown_weak_groups() { echo "Topdown weak groups test [Success]" } =20 +test_cputype() { + # Test --cputype argument. + echo "cputype test" + + # Bogus PMU should fail. + if perf stat --cputype=3D"123" -e instructions true > /dev/null 2>&1 + then + echo "cputype test [Bogus PMU didn't fail]" + err=3D1 + return + fi + + # Find a known PMU for cputype. + pmu=3D"" + for i in cpu cpu_atom armv8_pmuv3_0 + do + if test -d "/sys/devices/$i" + then + pmu=3D"$i" + break + fi + if perf stat -e "$i/instructions/" true > /dev/null 2>&1 + then + pmu=3D"$i" + break + fi + done + if test "x$pmu" =3D "x" + then + echo "cputype test [Skipped known PMU not found]" + return + fi + + # Test running with cputype produces output. + if ! perf stat --cputype=3D"$pmu" -e instructions true 2>&1 | grep -E -q= "instructions" + then + echo "cputype test [Failed count missed with given filter]" + err=3D1 + return + fi + echo "cputype test [Success]" +} + test_default_stat test_stat_record_report test_stat_record_script test_stat_repeat_weak_groups test_topdown_groups test_topdown_weak_groups +test_cputype exit $err --=20 2.40.1.606.ga4b1b128d6-goog