From nobody Thu Dec 11 19:21:59 2025 Received: from mail-pg1-f201.google.com (mail-pg1-f201.google.com [209.85.215.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 B28BC2E7F07 for ; Tue, 2 Dec 2025 17:54:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764698078; cv=none; b=AtZUfJrgmCUBj6Xr++WRB++/gEK3HHSUFoMdjBE4Xt95I0gIi/5vjfBrPHr+CZfnpouxdW3DKZA/DVd7j6gziPzKOashCw6/jzZ7rv3E/rkg92MET5GootkG3TChoFX8aYbOCUcakX3NWvCav5/9qYYcPeS6vOZ+G6KiU9Rd5Rw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764698078; c=relaxed/simple; bh=2r74RayIlYvpuwOozdsEWaVG+iKFzD/yEvXBbcyOtZM=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Content-Type; b=FEtROIa0UVHRT0d5G4I6Vi/YqF5GmPVkdjLmGqEJ+ELqA/MUjRs3znFzrRODSCSR6p4zRM6dEarUfk4368Ecdie8JHesHZMpLoYX+BYqRMO/+Wq3q3odymqjkOt6fRaj6SMiCPJaE07afp+g1Irk/w5tA5UlTp3vaFUcXYN9r/k= 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=YzsLq7A3; arc=none smtp.client-ip=209.85.215.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="YzsLq7A3" Received: by mail-pg1-f201.google.com with SMTP id 41be03b00d2f7-b630753cc38so7471224a12.1 for ; Tue, 02 Dec 2025 09:54:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1764698076; x=1765302876; darn=vger.kernel.org; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=lzZ8EnbBDh8jt7szKO0N2Uf8WEk3KaSh8ErcQB6ktIk=; b=YzsLq7A3Nw+GL+nfhr4JaGzMzVm8iWpuT0Xs4N2UQsBqwVIP8+VVwp9VCg7K474STq i5blOvGwgaw0HOImWteIJvSwtCh+09HIauW53IBVe/EoFO6XkKsdjAWeec2HiDkuXtbV BuQmURFy+4AxPLjEBvaZiId8MlUQIP1Fyin78sU8taeIKOTNOdeUNAJOtssTlOn17ljm bBG2XcnqmSnDjm4u6cmf/tKi8K/VVQlaxVyv8SRhMsqjgEQB/Ly0gqi9CHMTaWLOglei FyjLfBYbwh9ViYHJLVb6LvFs4uyNxRwt3ZC6FRoYKXe6Ksxfvp+PF6ovF0qAvvld2jRO Pagg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764698076; x=1765302876; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=lzZ8EnbBDh8jt7szKO0N2Uf8WEk3KaSh8ErcQB6ktIk=; b=Jc19dAtxA1IjdpF4SCFDF5ihFF7NCrOBr5SOcYOn70X4gQolq/xXPDRaC3GLOkqvUy N13BRy6zWlPhwIqMsxFDGEdlkpYHMEyOGVxBoePenkPLmfFdmeKzwLZ1yRUD45Deb3kn jurQNUhkw2Qpz9XXRyceVvMUAe6Z5S07XMglb8cewsl5ehSsT7Hi+uoXeLyL2M/OkPIq R2aSm2RnktDvsLEDZ3PbBoNlm39uL0DS28Mm892Xu2l/kDtS7DlHEYqcK7qkwyHUiSPG 0KuVXmkLxqqymFoLFHctVRctyMDjSlfdDBdeqQ9POrMeP3r4GooMkUuZNodKMSx2GPMk 2JXw== X-Forwarded-Encrypted: i=1; AJvYcCWanm8Huvv28A5uExj02kid/6V3/rEZQ6LmJ/7Ukprw9ffWEYdwIrxqdz9G9E5WY3r3NxEDd8XvkcBOOjs=@vger.kernel.org X-Gm-Message-State: AOJu0YzwFq5erNL1kNEw4B6avBh0YzEsLvFo5dD/PnABzWhB0miBlDn6 /CGsjFrrVTCs50/NdI82dhzFEUqN26C2CiEb28a2K31LF1CBjG1/ANxmci0Vqy1yiRpFt6gKGM0 +f0FHJ+YAEQ== X-Google-Smtp-Source: AGHT+IFfiF0+T0B3cE3iZJOMezRRXUl65547R9nw7jIkPYT4P2Q1DmHaH8JKoiF5eYt/wOEdc2p/qx6LbTqM X-Received: from dybhk20.prod.google.com ([2002:a05:7301:2894:b0:2a2:318c:8559]) (user=irogers job=prod-delivery.src-stubby-dispatcher) by 2002:a05:7301:29af:b0:2a4:3594:72e4 with SMTP id 5a478bee46e88-2a719277102mr18566291eec.19.1764698076080; Tue, 02 Dec 2025 09:54:36 -0800 (PST) Date: Tue, 2 Dec 2025 09:50:40 -0800 In-Reply-To: <20251202175043.623597-1-irogers@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20251202175043.623597-1-irogers@google.com> X-Mailer: git-send-email 2.52.0.158.g65b55ccf14-goog Message-ID: <20251202175043.623597-46-irogers@google.com> Subject: [PATCH v9 45/48] perf jevents: Add mesh bandwidth saturation metric for Intel From: Ian Rogers To: Adrian Hunter , Alexander Shishkin , Arnaldo Carvalho de Melo , Benjamin Gray , Caleb Biggers , Edward Baker , Ian Rogers , Ingo Molnar , James Clark , Jing Zhang , Jiri Olsa , John Garry , Leo Yan , Namhyung Kim , Perry Taylor , Peter Zijlstra , Samantha Alt , Sandipan Das , Thomas Falcon , Weilin Wang , Xu Yang , linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Memory bandwidth saturation from CBOX/CHA events present in broadwellde, broadwellx, cascadelakex, haswellx, icelakex, skylakex and snowridgex. Signed-off-by: Ian Rogers Tested-by: Thomas Falcon --- tools/perf/pmu-events/intel_metrics.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/tools/perf/pmu-events/intel_metrics.py b/tools/perf/pmu-events= /intel_metrics.py index f6bb691dc5bb..d56bab7337df 100755 --- a/tools/perf/pmu-events/intel_metrics.py +++ b/tools/perf/pmu-events/intel_metrics.py @@ -1033,6 +1033,22 @@ def UncoreMemBw() -> Optional[MetricGroup]: ], description=3D"Memory Bandwidth") =20 =20 +def UncoreMemSat() -> Optional[Metric]: + try: + clocks =3D Event("UNC_CHA_CLOCKTICKS", "UNC_C_CLOCKTICKS") + sat =3D Event("UNC_CHA_DISTRESS_ASSERTED.VERT", "UNC_CHA_FAST_ASSE= RTED.VERT", + "UNC_C_FAST_ASSERTED") + except: + return None + + desc =3D ("Mesh Bandwidth saturation (% CBOX cycles with FAST signal a= sserted, " + "include QPI bandwidth saturation), lower is better") + if "UNC_CHA_" in sat.name: + desc =3D ("Mesh Bandwidth saturation (% CHA cycles with FAST signa= l asserted, " + "include UPI bandwidth saturation), lower is better") + return Metric("lpm_mem_sat", desc, d_ratio(sat, clocks), "100%") + + def UncoreUpiBw() -> Optional[MetricGroup]: try: upi_rds =3D Event("UNC_UPI_RxL_FLITS.ALL_DATA") @@ -1097,6 +1113,7 @@ def main() -> None: UncoreDir(), UncoreMem(), UncoreMemBw(), + UncoreMemSat(), UncoreUpiBw(), ]) =20 --=20 2.52.0.158.g65b55ccf14-goog