From nobody Sun Aug 9 19:17:12 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4hJ71V0vTCz6nxQL for ; Sun, 09 Aug 2026 19:17:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "YR1" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4hJ71V02bKz4Fvt for ; Sun, 09 Aug 2026 19:17:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1786303038; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wnWSBE3pnEtzgN/CL3jEns58XhNundSopARl9Zp61Ow=; b=GsMMg9P8swSYp7nVXKsQighILK+LMSVn+1TbK0d2dN50fYlNwh16Io80GDFMSDhBp/9sra NpJrrwPVDX2IdrDV9mPnrXzXM2d0fHNIIwmclQb7pIG7B4GL5cFNGQ+udRcpRjN+cs2iJv zRiIfZ5fsLV+hhOQ0VK3o7J2+I9H7JTJ2L6SZOQkPKh54ACHGIRphHnPeIN+Eh2uKypkOC pq2H3SNrKRHQOoXaqS7zOyPMBdbRQ3ixYS/bAoBY2uqtOQqqHj5GyUrUnGqZNcOUCa+XJZ 5uxisQ6q9mhs7jrRxc+J8nKISihvrP3LwXMVB3jYL+GiHnmEBQPsyVMSagGb3w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1786303038; a=rsa-sha256; cv=none; b=FcPtaTAiDlb8TTH1F9hdaLwRPMf6LjQTVWvGTZPoV5CXKtThcAGEGsF4j/rL5sjB4Upexs W6IjoPETN7aNv0CCCgGrCCuAV9kAH84zq6RGaEKaAIILiV2u9aUzdhJ/zUZDDqqUnoUkqb dVNqnjYiZw0DCSvhrrGygCTQ/SmHD3XHFBvOYP7WDIHF9ssS3UsTELNtVOf8oj5U0QBS1p 9WZdmZ8Tb8PMojrTdnlPisTMdcFIDjuKSEqaOzzJUS1uoKoeuv6F4Via6vbknAGEp5skIr 9M6/60pPNMp7lRy69D7+yqj/x7C6fui4jyGnL344pm0kHAsM2Gz3UlgmvQ0mYg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1786303038; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wnWSBE3pnEtzgN/CL3jEns58XhNundSopARl9Zp61Ow=; b=RUjFNGoVK4MUI7bPRX0I+pgSFAaJQ4WkVdlmE0TDkEMelfvGSVF0yZWxDOgs8Q0O1BZj8/ wkk/dcBUwNF7ja+2VhJnCSNi4v1j7AV4KnRmZdFv7Gjrf3bq+NjdcR+BEoBIFbXamEFu7N h31wllWhgtPklwlob1NAsP12srnYGVPPaxxShEmnXPJ9sQ5Rj2N6mKSBXtqZ7e/rbvnBBG BcTIdbB7NvZsYyX/4m+otnNJ3kWZ0ozCd16vGKMPS4PRdiPkGWO0osQ5a0ge65LlMPj4gH z55pMre+BYKsSNjbLIZd7Cnggv8tKoyQIZefIusZJGjfpvQofjV6i9817DTdPg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hJ71T5wzFzd0R for ; Sun, 09 Aug 2026 19:17:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 4790f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 09 Aug 2026 19:17:12 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Ali Mashtizadeh From: Mitchell Horne Subject: git: d38b3a5ead0d - main - libpmc: Fix AMD L3 counter parameter parsing List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d38b3a5ead0d3507080da5321144219b13d43aa9 Auto-Submitted: auto-generated Date: Sun, 09 Aug 2026 19:17:12 +0000 Message-Id: <6a78d238.4790f.316d55e2@gitrepo.freebsd.org> The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=d38b3a5ead0d3507080da5321144219b13d43aa9 commit d38b3a5ead0d3507080da5321144219b13d43aa9 Author: Ali Mashtizadeh AuthorDate: 2026-07-31 02:11:17 +0000 Commit: Mitchell Horne CommitDate: 2026-08-09 19:16:49 +0000 libpmc: Fix AMD L3 counter parameter parsing Fix two small bugs affecting the event parsing of AMD L3 counters. AMD's manual and JSON disagree about the naming scheme on recent processors. I use the naming scheme present in the recent PPRs to be consistent, so in the JSON parser we rename 'allslices' to 'allsources' just as we already do with sliceid and sourceid. Also ensure that we parse the 0x prefix present in the newer JSON files. Reviewed by: mhorne Sponsored by: Netflix MFC after: 1 week Pull Request: https://github.com/freebsd/freebsd-src/pull/2180 --- lib/libpmc/libpmc_pmu_util.c | 8 ++++---- lib/libpmc/pmu-events/jevents.c | 9 ++++++++- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/lib/libpmc/libpmc_pmu_util.c b/lib/libpmc/libpmc_pmu_util.c index 5db60fe6dafe..050cbc120cd8 100644 --- a/lib/libpmc/libpmc_pmu_util.c +++ b/lib/libpmc/libpmc_pmu_util.c @@ -371,13 +371,13 @@ pmu_parse_event(struct pmu_event_desc *ped, const char *eventin) else if (strcmp(key, "l3_slice_mask") == 0) ped->ped_l3_slice = strtol(value, NULL, 16); else if (strcmp(key, "sourceid") == 0) - ped->ped_sourceid = strtol(value, NULL, 16); + ped->ped_sourceid = strtol(value, NULL, 0); else if (strcmp(key, "coreid") == 0) - ped->ped_coreid = strtol(value, NULL, 16); + ped->ped_coreid = strtol(value, NULL, 0); else if (strcmp(key, "allcores") == 0) - ped->ped_allcores = strtol(value, NULL, 10); + ped->ped_allcores = strtol(value, NULL, 0); else if (strcmp(key, "allsources") == 0) - ped->ped_allsources = strtol(value, NULL, 10); + ped->ped_allsources = strtol(value, NULL, 0); else if (strcmp(key, "pebs") == 0) ped->ped_pebs = strtol(value, NULL, 10); else { diff --git a/lib/libpmc/pmu-events/jevents.c b/lib/libpmc/pmu-events/jevents.c index facec3361c70..b4d073f13708 100644 --- a/lib/libpmc/pmu-events/jevents.c +++ b/lib/libpmc/pmu-events/jevents.c @@ -623,7 +623,14 @@ static int json_events(const char *fn, } else if (json_streq(map, field, "EnAllCores")) { addfield(map, &allcores, "", "allcores=", val); } else if (json_streq(map, field, "EnAllSlices")) { - addfield(map, &allslices, "", "allslices=", val); + /* + * We use the AMD PPR Family 1Ah Model 70h + * naming scheme of allsources rather than + * slices. The symbol EnAllSlices is not used + * anywhere except in Zen 4+ for the L3 + * counters. + */ + addfield(map, &allslices, "", "allsources=", val); } else if (json_streq(map, field, "SliceId")) { /* * We use sourceid because there's a