From patchwork Wed Sep 25 14:13:38 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Clark X-Patchwork-Id: 13812035 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 3D1CDCF9C6F for ; Wed, 25 Sep 2024 14:16:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Transfer-Encoding: MIME-Version:Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-Type: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Owner; bh=sesiBu62rHetQsj28pc3tOlFDm0+dlVJOIL+Kb7A19c=; b=SU4kzNBt/D5b790VD6zFMzinyQ y4UeIBEUFvzHvB4IvDAYF+PRV9w6wgO3TXUlSWRVYT4jfRi9Of+a4BYsE6PEd1okd3VX6tL7jF1fm 4HbKdo2c+w63K/FKdQo1WXWeCICD8vRpglh+DCsMRgZ8bgkm6vHQ/hi6ia3vAhmzUDpamjYx6W1A/ P1xPUXeUBKZQ5jos5pe+FdgumZlSEtTXVF6Q8zi0XJFcmbv7ypHq7eNVxyTuPlNGWSxI3HJ+dhCP5 +AFh5xhKYQBPt3/uejMiwOsIRBxXFhpD9uvps0+9CJZpgiY16QFoT/766kFnA8Bo/x63flXkRhK8n Dobqo8ag==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1stSoI-00000005Zje-35l5; Wed, 25 Sep 2024 14:16:06 +0000 Received: from mail-ed1-x52d.google.com ([2a00:1450:4864:20::52d]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1stSn6-00000005ZNy-1Yzp for linux-arm-kernel@lists.infradead.org; Wed, 25 Sep 2024 14:14:53 +0000 Received: by mail-ed1-x52d.google.com with SMTP id 4fb4d7f45d1cf-5c721803a89so890853a12.1 for ; Wed, 25 Sep 2024 07:14:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1727273690; x=1727878490; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=sesiBu62rHetQsj28pc3tOlFDm0+dlVJOIL+Kb7A19c=; b=FfmdW7+VIS44tZZdfrf1GG0P+wHinWANICc4LEshT9nM8g/Zk8Vi0k/urWkYVkRjh+ SNrCLTn1JGSEfNsm9JTy4U9Y+juy6rFHBh2RpM0xWt0usnUCu41aPD/sGuS8EW6iX+Q0 r1QICz3rMpQxUoEvfgWhMkZz8B5o7o8NRtvVgDqvXA3fwdLoVMFtIxSAZ1nlXWM+J2j1 dkjfqNXWubsyMveMNJiXtrXU2qJmgPLeLU1NWaPzYRP+EvX9Rh4sR0IjiQa8C+Lx1fp2 fTlhpoKj16L92JKfin6PbrFYBobDT9TsY0/CRVb22y/YsrcRmT6974O/MD8SbTECfTkB Wm3Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1727273690; x=1727878490; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=sesiBu62rHetQsj28pc3tOlFDm0+dlVJOIL+Kb7A19c=; b=tU8GwOubh/Z4h3xOm4h58rM0y7h9YIziC29eujd+1eUhhzyqAjrSpgYJ15cDXaHrBs wO+UZYhNEneJqM3RtDczb2Tmd7cFVHXbk1M6yQ3DND3EsbELRcFvByHZZYsd5NLplj8F XTdZTlbAMo3+SMFqaGhOHsx3Q40ZiKVdoztHgVbV8tPMkAliXLg4djxzJ11NoqRnBPBJ s2KJI+6uJX96k3QNNLPxwnLX9OrQw2RqC3XuUdbtf49qWaPO7FzdoCBeUEhpISuajrMB Qi4m11FHhXHt8xOOyt2ZVDZ9GIwNX5yH800UvSKKWFgyITc3F/lkdC+ZXi8reOK3aF5q +4lw== X-Forwarded-Encrypted: i=1; AJvYcCVhlf1kigJO1TH5uM+wUQKv7xG0zgOg1CRpnAZTnfNredOmS33itWjEvNfJAsnjEjGYkS/WbvyRSqT/nubtC2lp@lists.infradead.org X-Gm-Message-State: AOJu0Yx9uflWSilSni6xKSLCHNzLyRhdVJN9KLeVeQXx/gvvdmTY0F4S jwbcCa9jYPHl3Xgp4nqQ5e76i/aOLBfr8ICKO6mTEYvSTNaEnRvJhlEtfvG4Lck= X-Google-Smtp-Source: AGHT+IHB6BzhvZDjkJhqBhSrJ8vPdz3dBWJ/QOw30aK8v7iUqTyYvGv/Z//zSYzMts4FtvL3GOGbAQ== X-Received: by 2002:a05:6402:1ecf:b0:5c5:b646:945b with SMTP id 4fb4d7f45d1cf-5c72073c7fcmr2443326a12.22.1727273690323; Wed, 25 Sep 2024 07:14:50 -0700 (PDT) Received: from localhost.localdomain ([89.47.253.130]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5c5cf4968f4sm1888005a12.27.2024.09.25.07.14.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Sep 2024 07:14:49 -0700 (PDT) From: James Clark To: irogers@google.com, linux-perf-users@vger.kernel.org, kan.liang@linux.intel.com, ak@linux.intel.com, namhyung@kernel.org Cc: James Clark , John Garry , Will Deacon , Mike Leach , Leo Yan , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Adrian Hunter , Weilin Wang , Athira Rajeev , Dominique Martinet , Colin Ian King , Yang Li , Yang Jihong , Howard Chu , Ze Gao , Yanteng Si , Jing Zhang , Sun Haiyong , Yicong Yang , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v8 0/7] Event parsing fixes Date: Wed, 25 Sep 2024 15:13:38 +0100 Message-Id: <20240925141357.1033087-1-james.clark@linaro.org> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240925_071452_418081_4FB1B400 X-CRM114-Status: GOOD ( 20.16 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org I rebased this one and made some other fixes so that I could test it, so I thought I'd repost it here in case it's helpful. I also added a new test. But for the testing it all looks ok. There is one small difference where it now hides _all_ default events, when previously it would only hide some selected subset of events like "stalled-cycles-frontend". I think this is now more consistent across platforms because, for example, Apple M only has cycles and instructions, and the rest of the default events would always show as there. Tested on Raptor Lake, Kaby Lake, Juno, N1, Ampere (with the DSU cycles PMU) and I also faked an Apple M on Juno. Changes since v7: * Resolve conflicts and rebase onto perf-tools-next 1de5b5dcb835 * Fix build error by using the new perf_pmu__is_fake() Changes since v6: * Fix empty PMU name in perf report * Rebase onto perf-tools-next 003265bb6f02 Changes since v5: * Test on x86 non hybrid * Assume 1 PMU in the test when no PMUs expose /cpus file Changes since v4: * Hide all default events when not verbose * Remove previous note about behavior from the cover letter and replace it with a new note about the new behavior Changes since v3: * Rebase onto perf-tools-next 6236ebe07 * Fix Intel TPEBS counting mode test * Fix arm-spe build * Add support for DT devices in stat test * Add a new test for hybrid perf stat default arguments Ian Rogers (5): perf evsel: Add alternate_hw_config and use in evsel__match perf stat: Uniquify event name improvements perf stat: Remove evlist__add_default_attrs use strings perf evsel x86: Make evsel__has_perf_metrics work for legacy events perf evsel: Remove pmu_name James Clark (2): perf test: Make stat test work on DT devices perf test: Add a test for default perf stat command tools/perf/arch/arm64/util/arm-spe.c | 4 +- tools/perf/arch/x86/util/evlist.c | 74 +---- tools/perf/arch/x86/util/evsel.c | 35 ++- tools/perf/builtin-diff.c | 6 +- tools/perf/builtin-stat.c | 291 +++++++----------- tools/perf/tests/parse-events.c | 2 +- tools/perf/tests/shell/stat.sh | 37 ++- .../perf/tests/shell/test_stat_intel_tpebs.sh | 11 +- tools/perf/util/evlist.c | 46 +-- tools/perf/util/evlist.h | 12 - tools/perf/util/evsel.c | 28 +- tools/perf/util/evsel.h | 22 +- tools/perf/util/metricgroup.c | 4 +- tools/perf/util/parse-events.c | 60 ++-- tools/perf/util/parse-events.h | 8 +- tools/perf/util/parse-events.y | 2 +- tools/perf/util/pmu.c | 8 +- tools/perf/util/pmu.h | 3 +- tools/perf/util/stat-display.c | 109 +++++-- tools/perf/util/stat-shadow.c | 14 +- tools/perf/util/stat.c | 2 +- 21 files changed, 363 insertions(+), 415 deletions(-)