From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-yw1-f201.google.com (mail-yw1-f201.google.com [209.85.128.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E23481A83E6 for ; Fri, 7 Feb 2025 18:20:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738952406; cv=none; b=pK7xKuzUEISwEbDzee4XdEb2TkTahOMtjHJURUG7jV00IUOzImOheT/tQv7Nb+d1rTzS8Niy0RL5X59u9UcLSaL+Gx8SNliPtaFHODrBBsFpkseZbWTvJF1nVEN+XaS2f23k40RC+kUAdQHT/V51a0dFw2E3JYVD+7P8va4CelQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738952406; c=relaxed/simple; bh=i9AQxXb9YylZ4O2Cuu6b1aNIjImZQYZRBthB/KW5WXM=; h=Date:Message-Id:Mime-Version:Subject:From:To:Content-Type; b=e5Rp0iNrC4/yPqT7KZdRgbrmhpr8fBWg/Av9MuLz8R5lns4T+2GV3eBaMFGJzkug45p4ZspoAxKkU6BpLPh1Ve0IOuRzfPiCfCzO+B2M181v/HDnqYZiJgtete12hen0lVWndd5+lTPnfhVsndBXK0e8xCWzF1q8rO/fLl8oZmg= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--irogers.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=Ko0eIASz; arc=none smtp.client-ip=209.85.128.201 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--irogers.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="Ko0eIASz" Received: by mail-yw1-f201.google.com with SMTP id 00721157ae682-6f4348c854eso30786697b3.2 for ; Fri, 07 Feb 2025 10:20:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1738952403; x=1739557203; darn=vger.kernel.org; h=to:from:subject:mime-version:message-id:date:from:to:cc:subject :date:message-id:reply-to; bh=J8Z4F6eTnveLgIXirHrPHwqU/ecmW/HOqvTUiP/HOQo=; b=Ko0eIASzxpUxcoJCVBPcgTXFmVf6ELUEtrMQoCkv1eL/oELRz5sN2RkSv42F29FccQ bIwRpQAax8PDA0Ml040uOb8caq/CuomKSL5PsiVsPjViTLQbrpsrntqQbh9OQt9pMSni 1PASpj89XioRH6M0v9R2y1Jt8qCadYFTw4YwdibrNsM62xMSbNZKI6Wq8P9xlJU7+nFt po5P9JvEfnwSn/C5dRnbPnKpBYGDhSOvoSNTbMArxu4+FYx/8Mx7Zn91GjGBD2StrsdJ vBwZoDorf32zZ/fqC85PsYtlQGidFt8RnALvINvy2JrnFenlYvzxNrFQqn/BEbgUDvvG EgmQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738952403; x=1739557203; h=to:from:subject:mime-version:message-id:date:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=J8Z4F6eTnveLgIXirHrPHwqU/ecmW/HOqvTUiP/HOQo=; b=wsRucx8RN6ws8KFatiqWrOaEawEqm+BB3rM8iEQEzXI+ekE1W9WypUN8FB1hU/DCF2 gF77ifwhNXdXthKuOnQ2mWZx6fZiVDHgjjCrO/o2K1URacx2jxJTY0kaDPmYdg9AkK1u IyPHeJrmceLXPdEFjnCN/8aVo3NMjrT8mYXSGKkyjdVqPyX6LFPwgHgXh9SZofYqhGae 9BKi6L7o3mhnMJEOOtcaIv4xyharl5OXfVMnklwJVHm3BZMinVw6paRizHNBvR620v9W ylo2c0L5CxYUtrHvSW1xJl+UdHyvxF62Gdani/URfGyel1UIjCDhfG1fAzt4DBx8SxZo 6Huw== X-Forwarded-Encrypted: i=1; AJvYcCXN2zDtnBhiSbN5NT32a4KrYH52qUSJUHy6YvDDFObJI5hnocF6RvsBseA4GI4QJ6mOAjqbTvSyvETDmwU=@vger.kernel.org X-Gm-Message-State: AOJu0YzEfxSc9ST9rB1bdNFOaFesWeGXSK7oMhOFspwaRoqC07JCYse0 R8bAP6Wp8T93qBLBp7YBSYpIT3FAwOuZ5jdylApS255dfmjEUrHqMmSka2dt4uyRAuTR/705LNf +BexDmg== X-Google-Smtp-Source: AGHT+IEFJb3HNkefHEU5qjH+4dw2KRHQKHZ4OZThraPC6rLjjepRlB1FpPMi8vh/3jMUjKpXa2P9Gisbkhrc X-Received: from irogers.svl.corp.google.com ([2620:15c:2c5:11:79e4:4a45:1e80:ace5]) (user=irogers job=sendgmr) by 2002:a81:ad0f:0:b0:6eb:ac7:b4bc with SMTP id 00721157ae682-6f9b27e1790mr414957b3.2.1738952402785; Fri, 07 Feb 2025 10:20:02 -0800 (PST) Date: Fri, 7 Feb 2025 10:19:34 -0800 Message-Id: <20250207181959.799610-1-irogers@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 X-Mailer: git-send-email 2.48.1.502.g6dc24dfdaf-goog Subject: [PATCH v6 00/24] Intel vendor events and TMA 5.02 metrics From: Ian Rogers To: Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Namhyung Kim , Mark Rutland , Alexander Shishkin , Jiri Olsa , Ian Rogers , Adrian Hunter , Kan Liang , "=?UTF-8?q?Andreas=20F=C3=A4rber?=" , Manivannan Sadhasivam , Weilin Wang , linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, Perry Taylor , Samantha Alt , Caleb Biggers , Edward Baker , Michael Petlan , Thomas Falcon Content-Type: text/plain; charset="UTF-8" Update the Intel vendor events to the latest. Update the metrics to TMA 5.02. Add Arrowlake and Clearwaterforest support. Add metrics for LNL and GNR. Address IIO uncore issue spotted on EMR, GRR, GNR, SPR and SRF. The perf json was generated using the script: https://github.com/intel/perfmon/blob/main/scripts/create_perf_json.py with the generated json being in: https://github.com/intel/perfmon/tree/main/scripts/perf Thanks to Perry Taylor , Caleb Biggers , Edward Baker , Weilin Wang , Kan Liang and Thomas Falcon for helping get this patch series together. v6: Add Default metric groups for new models (Kan). Fix TSC and C-State metrics (Tom). v5: Remove Valkyrie metrics mistakenly added on atom. Ensure "perf all metrics test" doesn't skip for missing events. v4: Fix TSC events on hybrid mistakenly specifying the core PMU inhibiting the use of the msr PMU. v3: Fixes for hybrid metrics that were missing PMU. Update to the latest events. v2: Fix hybrid and Co-authored-by tag issues reported by Arnaldo. Updates to Lunarlake and Meteorlake events. Addition of Clearwaterforest. Ian Rogers (24): perf vendor events: Update Alderlake events/metrics perf vendor events: Update AlderlakeN events/metrics perf vendor events: Add Arrowlake events/metrics perf vendor events: Update Broadwell events/metrics perf vendor events: Update BroadwellDE events/metrics perf vendor events: Update BroadwellX events/metrics perf vendor events: Update CascadelakeX events/metrics perf vendor events: Add Clearwaterforest events perf vendor events: Update EmeraldRapids events/metrics perf vendor events: Update GrandRidge events/metrics perf vendor events: Update/add Graniterapids events/metrics perf vendor events: Update Haswell events/metrics perf vendor events: Update HaswellX events/metrics perf vendor events: Update Icelake events/metrics perf vendor events: Update IcelakeX events/metrics perf vendor events: Update/add Lunarlake events/metrics perf vendor events: Update Meteorlake events/metrics perf vendor events: Update Rocketlake events/metrics perf vendor events: Update Sapphirerapids events/metrics perf vendor events: Update Sierraforest events/metrics perf vendor events: Update Skylake metrics perf vendor events: Update SkylakeX events/metrics perf vendor events: Update Tigerlake events/metrics perf test stat_all_metrics: Ensure missing events fail test .../arch/x86/alderlake/adl-metrics.json | 912 +++--- .../pmu-events/arch/x86/alderlake/cache.json | 292 +- .../arch/x86/alderlake/floating-point.json | 19 +- .../arch/x86/alderlake/frontend.json | 19 - .../pmu-events/arch/x86/alderlake/memory.json | 32 +- .../arch/x86/alderlake/metricgroups.json | 10 +- .../pmu-events/arch/x86/alderlake/other.json | 92 +- .../arch/x86/alderlake/pipeline.json | 127 +- .../arch/x86/alderlake/virtual-memory.json | 33 + .../arch/x86/alderlaken/adln-metrics.json | 83 +- .../pmu-events/arch/x86/alderlaken/cache.json | 227 +- .../arch/x86/alderlaken/floating-point.json | 17 +- .../arch/x86/alderlaken/memory.json | 20 + .../pmu-events/arch/x86/alderlaken/other.json | 81 +- .../arch/x86/alderlaken/pipeline.json | 97 +- .../arch/x86/alderlaken/virtual-memory.json | 30 + .../arch/x86/arrowlake/arl-metrics.json | 2745 +++++++++++++++++ .../pmu-events/arch/x86/arrowlake/cache.json | 1491 +++++++++ .../arch/x86/arrowlake/floating-point.json | 532 ++++ .../arch/x86/arrowlake/frontend.json | 609 ++++ .../pmu-events/arch/x86/arrowlake/memory.json | 387 +++ .../arch/x86/arrowlake/metricgroups.json | 150 + .../pmu-events/arch/x86/arrowlake/other.json | 279 ++ .../arch/x86/arrowlake/pipeline.json | 2308 ++++++++++++++ .../arch/x86/arrowlake/uncore-cache.json | 20 + .../x86/arrowlake/uncore-interconnect.json | 47 + .../arch/x86/arrowlake/uncore-memory.json | 160 + .../{haswell => arrowlake}/uncore-other.json | 0 .../arch/x86/arrowlake/virtual-memory.json | 522 ++++ .../arch/x86/broadwell/bdw-metrics.json | 312 +- .../pmu-events/arch/x86/broadwell/cache.json | 10 +- .../arch/x86/broadwell/frontend.json | 4 +- .../pmu-events/arch/x86/broadwell/memory.json | 8 +- .../arch/x86/broadwell/metricgroups.json | 5 + .../arch/x86/broadwell/pipeline.json | 10 +- .../arch/x86/broadwellde/bdwde-metrics.json | 256 +- .../arch/x86/broadwellde/cache.json | 10 +- .../arch/x86/broadwellde/frontend.json | 4 +- .../arch/x86/broadwellde/memory.json | 6 +- .../arch/x86/broadwellde/metricgroups.json | 5 + .../arch/x86/broadwellde/pipeline.json | 10 +- .../arch/x86/broadwellde/uncore-cache.json | 28 +- .../x86/broadwellde/uncore-interconnect.json | 16 +- .../arch/x86/broadwellx/bdx-metrics.json | 344 ++- .../pmu-events/arch/x86/broadwellx/cache.json | 10 +- .../arch/x86/broadwellx/frontend.json | 4 +- .../arch/x86/broadwellx/memory.json | 6 +- .../arch/x86/broadwellx/metricgroups.json | 5 + .../arch/x86/broadwellx/pipeline.json | 10 +- .../arch/x86/broadwellx/uncore-cache.json | 28 +- .../x86/broadwellx/uncore-interconnect.json | 36 +- .../arch/x86/broadwellx/uncore-memory.json | 1 + .../arch/x86/cascadelakex/clx-metrics.json | 767 +++-- .../arch/x86/cascadelakex/metricgroups.json | 9 +- .../arch/x86/cascadelakex/uncore-cache.json | 60 +- .../x86/cascadelakex/uncore-interconnect.json | 11 - .../arch/x86/clearwaterforest/cache.json | 144 + .../arch/x86/clearwaterforest/counter.json | 7 + .../arch/x86/clearwaterforest/frontend.json | 18 + .../arch/x86/clearwaterforest/memory.json | 22 + .../arch/x86/clearwaterforest/other.json | 22 + .../arch/x86/clearwaterforest/pipeline.json | 113 + .../x86/clearwaterforest/virtual-memory.json | 29 + .../arch/x86/emeraldrapids/cache.json | 28 +- .../arch/x86/emeraldrapids/emr-metrics.json | 976 +++--- .../arch/x86/emeraldrapids/frontend.json | 19 - .../arch/x86/emeraldrapids/memory.json | 15 +- .../arch/x86/emeraldrapids/metricgroups.json | 10 +- .../arch/x86/emeraldrapids/pipeline.json | 23 - .../arch/x86/emeraldrapids/uncore-io.json | 218 +- .../arch/x86/grandridge/grr-metrics.json | 284 +- .../arch/x86/grandridge/pipeline.json | 3 +- .../arch/x86/grandridge/uncore-cache.json | 4 +- .../x86/grandridge/uncore-interconnect.json | 60 + .../arch/x86/grandridge/uncore-io.json | 214 +- .../arch/x86/grandridge/uncore-memory.json | 2 +- .../arch/x86/graniterapids/cache.json | 130 +- .../arch/x86/graniterapids/counter.json | 24 +- .../arch/x86/graniterapids/frontend.json | 24 +- .../arch/x86/graniterapids/gnr-metrics.json | 2325 ++++++++++++++ .../arch/x86/graniterapids/memory.json | 121 +- .../arch/x86/graniterapids/metricgroups.json | 145 + .../arch/x86/graniterapids/other.json | 109 + .../arch/x86/graniterapids/pipeline.json | 40 +- .../arch/x86/graniterapids/uncore-cache.json | 48 +- .../arch/x86/graniterapids/uncore-cxl.json | 2 - .../graniterapids/uncore-interconnect.json | 87 + .../arch/x86/graniterapids/uncore-io.json | 280 +- .../arch/x86/graniterapids/uncore-memory.json | 122 +- .../arch/x86/graniterapids/uncore-power.json | 98 + .../arch/x86/haswell/hsw-metrics.json | 260 +- .../pmu-events/arch/x86/haswell/memory.json | 2 +- .../arch/x86/haswell/metricgroups.json | 5 + .../arch/x86/haswellx/hsx-metrics.json | 296 +- .../arch/x86/haswellx/metricgroups.json | 5 + .../arch/x86/haswellx/uncore-cache.json | 28 +- .../x86/haswellx/uncore-interconnect.json | 38 +- .../pmu-events/arch/x86/icelake/cache.json | 34 +- .../pmu-events/arch/x86/icelake/frontend.json | 17 - .../arch/x86/icelake/icl-metrics.json | 849 ++--- .../pmu-events/arch/x86/icelake/memory.json | 13 +- .../arch/x86/icelake/metricgroups.json | 10 +- .../pmu-events/arch/x86/icelake/pipeline.json | 30 +- .../arch/x86/icelake/uncore-interconnect.json | 76 - .../arch/x86/icelake/uncore-other.json | 2 +- .../arch/x86/icelake/virtual-memory.json | 18 + .../pmu-events/arch/x86/icelakex/cache.json | 41 +- .../arch/x86/icelakex/frontend.json | 17 - .../arch/x86/icelakex/icx-metrics.json | 852 ++--- .../pmu-events/arch/x86/icelakex/memory.json | 13 +- .../arch/x86/icelakex/metricgroups.json | 10 +- .../arch/x86/icelakex/pipeline.json | 30 +- .../pmu-events/arch/x86/lunarlake/cache.json | 1352 +++++++- .../arch/x86/lunarlake/floating-point.json | 484 +++ .../arch/x86/lunarlake/frontend.json | 654 +++- .../arch/x86/lunarlake/lnl-metrics.json | 2726 ++++++++++++++++ .../pmu-events/arch/x86/lunarlake/memory.json | 262 +- .../arch/x86/lunarlake/metricgroups.json | 150 + .../pmu-events/arch/x86/lunarlake/other.json | 496 ++- .../arch/x86/lunarlake/pipeline.json | 2105 +++++++++++-- .../arch/x86/lunarlake/uncore-memory.json | 36 + .../arch/x86/lunarlake/virtual-memory.json | 428 +++ tools/perf/pmu-events/arch/x86/mapfile.csv | 42 +- .../pmu-events/arch/x86/meteorlake/cache.json | 109 +- .../arch/x86/meteorlake/frontend.json | 30 +- .../arch/x86/meteorlake/memory.json | 22 +- .../arch/x86/meteorlake/metricgroups.json | 10 +- .../arch/x86/meteorlake/mtl-metrics.json | 1026 +++--- .../pmu-events/arch/x86/meteorlake/other.json | 54 + .../arch/x86/meteorlake/pipeline.json | 89 +- .../pmu-events/arch/x86/rocketlake/cache.json | 34 +- .../arch/x86/rocketlake/frontend.json | 17 - .../arch/x86/rocketlake/memory.json | 13 +- .../arch/x86/rocketlake/metricgroups.json | 10 +- .../arch/x86/rocketlake/pipeline.json | 30 +- .../arch/x86/rocketlake/rkl-metrics.json | 849 ++--- .../x86/rocketlake/uncore-interconnect.json | 10 - .../arch/x86/rocketlake/uncore-other.json | 2 +- .../arch/x86/rocketlake/virtual-memory.json | 18 + .../arch/x86/sapphirerapids/cache.json | 30 +- .../arch/x86/sapphirerapids/frontend.json | 19 - .../arch/x86/sapphirerapids/memory.json | 15 +- .../arch/x86/sapphirerapids/metricgroups.json | 10 +- .../arch/x86/sapphirerapids/pipeline.json | 23 - .../arch/x86/sapphirerapids/spr-metrics.json | 908 +++--- .../arch/x86/sapphirerapids/uncore-io.json | 138 +- .../arch/x86/sierraforest/cache.json | 130 +- .../arch/x86/sierraforest/counter.json | 24 +- .../arch/x86/sierraforest/frontend.json | 8 + .../arch/x86/sierraforest/other.json | 20 + .../arch/x86/sierraforest/pipeline.json | 46 +- .../arch/x86/sierraforest/srf-metrics.json | 308 +- .../arch/x86/sierraforest/uncore-cache.json | 61 +- .../arch/x86/sierraforest/uncore-cxl.json | 2 - .../x86/sierraforest/uncore-interconnect.json | 87 + .../arch/x86/sierraforest/uncore-io.json | 280 +- .../arch/x86/sierraforest/uncore-memory.json | 122 +- .../arch/x86/sierraforest/uncore-power.json | 98 + .../arch/x86/skylake/metricgroups.json | 9 +- .../arch/x86/skylake/skl-metrics.json | 684 ++-- .../arch/x86/skylakex/metricgroups.json | 9 +- .../arch/x86/skylakex/skx-metrics.json | 740 +++-- .../arch/x86/skylakex/uncore-cache.json | 60 +- .../x86/skylakex/uncore-interconnect.json | 11 - .../pmu-events/arch/x86/tigerlake/cache.json | 45 +- .../arch/x86/tigerlake/frontend.json | 17 - .../pmu-events/arch/x86/tigerlake/memory.json | 13 +- .../arch/x86/tigerlake/metricgroups.json | 10 +- .../arch/x86/tigerlake/pipeline.json | 30 +- .../arch/x86/tigerlake/tgl-metrics.json | 745 +++-- .../x86/tigerlake/uncore-interconnect.json | 4 +- .../arch/x86/tigerlake/uncore-other.json | 2 +- .../arch/x86/tigerlake/virtual-memory.json | 18 + tools/perf/tests/shell/stat_all_metrics.sh | 8 +- 174 files changed, 30258 insertions(+), 7262 deletions(-) create mode 100644 tools/perf/pmu-events/arch/x86/arrowlake/arl-metrics.json create mode 100644 tools/perf/pmu-events/arch/x86/arrowlake/cache.json create mode 100644 tools/perf/pmu-events/arch/x86/arrowlake/floating-point.json create mode 100644 tools/perf/pmu-events/arch/x86/arrowlake/frontend.json create mode 100644 tools/perf/pmu-events/arch/x86/arrowlake/memory.json create mode 100644 tools/perf/pmu-events/arch/x86/arrowlake/metricgroups.json create mode 100644 tools/perf/pmu-events/arch/x86/arrowlake/other.json create mode 100644 tools/perf/pmu-events/arch/x86/arrowlake/pipeline.json create mode 100644 tools/perf/pmu-events/arch/x86/arrowlake/uncore-cache.json create mode 100644 tools/perf/pmu-events/arch/x86/arrowlake/uncore-interconnect.json create mode 100644 tools/perf/pmu-events/arch/x86/arrowlake/uncore-memory.json rename tools/perf/pmu-events/arch/x86/{haswell => arrowlake}/uncore-other.json (100%) create mode 100644 tools/perf/pmu-events/arch/x86/arrowlake/virtual-memory.json create mode 100644 tools/perf/pmu-events/arch/x86/clearwaterforest/cache.json create mode 100644 tools/perf/pmu-events/arch/x86/clearwaterforest/counter.json create mode 100644 tools/perf/pmu-events/arch/x86/clearwaterforest/frontend.json create mode 100644 tools/perf/pmu-events/arch/x86/clearwaterforest/memory.json create mode 100644 tools/perf/pmu-events/arch/x86/clearwaterforest/other.json create mode 100644 tools/perf/pmu-events/arch/x86/clearwaterforest/pipeline.json create mode 100644 tools/perf/pmu-events/arch/x86/clearwaterforest/virtual-memory.json create mode 100644 tools/perf/pmu-events/arch/x86/graniterapids/gnr-metrics.json create mode 100644 tools/perf/pmu-events/arch/x86/graniterapids/metricgroups.json create mode 100644 tools/perf/pmu-events/arch/x86/lunarlake/floating-point.json create mode 100644 tools/perf/pmu-events/arch/x86/lunarlake/lnl-metrics.json create mode 100644 tools/perf/pmu-events/arch/x86/lunarlake/metricgroups.json create mode 100644 tools/perf/pmu-events/arch/x86/lunarlake/uncore-memory.json -- 2.48.1.502.g6dc24dfdaf-goog