From nobody Tue Mar 24 10:38:07 2026 X-Original-To: dev-commits-src-main@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 4fg62816npz6WTSt for ; Tue, 24 Mar 2026 10:38:08 +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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fg62809HYz3sSH for ; Tue, 24 Mar 2026 10:38:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1774348688; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9j+v4XY1nyulPEBR7VLF5qE5sZODB1wbH0pliS946QU=; b=xQNqKYBHTdRr4NEJdlsE0KqpfZPOo0inj4TtmOq9Lf0inU6+mk8MdTukz6pnGDvzNrjKUM LNxGwush894tSm+K81cpMT1EhvzLk3UFPCNC/qgixMS+bCoy//74+8ziujv7urYexXnd/u VGaYC58EJMJtjvJnUyVuRnJ6oq/TMCx30tLoNMdTWqFR/T9z5So/6vTvdQ/xUU6tlwFpkZ UZ3XtcaXoqbTyBmtYId2SiHLIiuwV4Mq9A71kg2N0AdT/bGuuQHXxz6dHUh/X0incXYUwL hhHU9fg5n2sPaKdFcZAYZF+U2WasDevX7AYE8Hk/H+Ni8hDL8/ATz07UEu5eKQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1774348688; a=rsa-sha256; cv=none; b=Mc4fmVLR8x6UBKEDoaG0uJSl46hAu6oaz6tNWcSySFHsNq7O+VhmaXLppkLnsw5p44v1wX OoEJR5Z3vvxDDmhfVZJalzZYo/EsI+r+W0CQXUlcZeIdGRqZUE04/yYFY9Y7oPSaUcze9R Pr5S1aFk3+JOSGYl31j0cWvipEAlAcDBwJsOtOfTt0fDcYa31n//Mqgo7MmdMLq3q2XNS0 dXjbUqM03/tkv8oiftPxvGT1zRWDkXm3pJpEt3XaMH3rVqQSekT4pI670zFk8f5rIxgoeW lRGNQriM4IDaerWYdqCeXpf5mMjFuZkeABU++kpBQYso3hpNDu9Fz5Dg12Mg1w== 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=1774348688; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9j+v4XY1nyulPEBR7VLF5qE5sZODB1wbH0pliS946QU=; b=mrF0YTzcHUKzdEgKg+T14Xzim0CQ/1yPiHKSLbUIaMaYMt2inLU09Izzqy6YfDwI1RNbKh Mfh+AZm/yvXQVwXZiCzM/2j6MRqZAVImxleNp5WLQLq55juuV49TDZ2PoSNopUSrzXtQjx ni7dsEzfHJErrJWPcDEI4KIIYERSZ27gzA1AgNsTBdWlNGdGsubw6AksFfvjqeB3fZa53l gOfM5jW9IfsVnfFVc17B9mhmAR51/AFxPMMN7bh2SJdzmfBUE4yguQq8VPUpP+0k9upVEn +V2ESWzaLqz34VRgLvUrzw9r1iHUZ81dJl/scvpHZquPIOqg0FckT0ZxX63Lew== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fg6276FW5zZy for ; Tue, 24 Mar 2026 10:38:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 34504 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 24 Mar 2026 10:38:07 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Bojan Novk=?utf-8?Q?ovi=C4=87?= Subject: git: 6ad94d549eb2 - main - libpmc/pmu-events: Add support for new json fields List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bnovkov X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6ad94d549eb2286d791abd5634400d8ef36d8259 Auto-Submitted: auto-generated Date: Tue, 24 Mar 2026 10:38:07 +0000 Message-Id: <69c2698f.34504.59dddf1c@gitrepo.freebsd.org> The branch main has been updated by bnovkov: URL: https://cgit.FreeBSD.org/src/commit/?id=6ad94d549eb2286d791abd5634400d8ef36d8259 commit 6ad94d549eb2286d791abd5634400d8ef36d8259 Author: Bojan Novković AuthorDate: 2026-03-21 14:37:44 +0000 Commit: Bojan Novković CommitDate: 2026-03-24 10:34:12 +0000 libpmc/pmu-events: Add support for new json fields This change adds support for three new Intel fields to jevents.c: - MetricThreshold - MetricgroupNoGroup - DefaultMetricgroupName Reviewed by: ali_mashtizadeh.com, mhorne Differential Revision: https://reviews.freebsd.org/D56017 MFC after: 1 week --- lib/libpmc/pmu-events/jevents.c | 24 ++++++++++++++++++++++++ lib/libpmc/pmu-events/pmu-events.h | 3 +++ 2 files changed, 27 insertions(+) diff --git a/lib/libpmc/pmu-events/jevents.c b/lib/libpmc/pmu-events/jevents.c index b129b3706832..facec3361c70 100644 --- a/lib/libpmc/pmu-events/jevents.c +++ b/lib/libpmc/pmu-events/jevents.c @@ -71,8 +71,11 @@ struct json_event { char *perpkg; char *aggr_mode; char *metric_expr; + char *metric_threshold; char *metric_name; char *metric_group; + char *metric_group_nogroup; + char *default_metric_group; char *deprecated; char *metric_constraint; }; @@ -379,10 +382,16 @@ static int print_events_table_entry(void *data, struct json_event *je) fprintf(outfp, "\t.aggr_mode = \"%d\",\n", convert(je->aggr_mode)); if (je->metric_expr) fprintf(outfp, "\t.metric_expr = \"%s\",\n", je->metric_expr); + if (je->metric_threshold) + fprintf(outfp, "\t.metric_threshold = \"%s\",\n", je->metric_threshold); if (je->metric_name) fprintf(outfp, "\t.metric_name = \"%s\",\n", je->metric_name); if (je->metric_group) fprintf(outfp, "\t.metric_group = \"%s\",\n", je->metric_group); + if (je->metric_group_nogroup) + fprintf(outfp, "\t.metric_group_nogroup = \"%s\",\n", je->metric_group_nogroup); + if (je->default_metric_group) + fprintf(outfp, "\t.default_metric_group = \"%s\",\n", je->default_metric_group); if (je->deprecated) fprintf(outfp, "\t.deprecated = \"%s\",\n", je->deprecated); if (je->metric_constraint) @@ -404,8 +413,11 @@ struct event_struct { char *perpkg; char *aggr_mode; char *metric_expr; + char *metric_threshold; char *metric_name; char *metric_group; + char *metric_group_nogroup; + char *default_metric_group; char *deprecated; char *metric_constraint; }; @@ -434,8 +446,11 @@ struct event_struct { op(perpkg); \ op(aggr_mode); \ op(metric_expr); \ + op(metric_threshold); \ op(metric_name); \ op(metric_group); \ + op(metric_group_nogroup); \ + op(default_metric_group); \ op(deprecated); \ } while (0) @@ -711,10 +726,16 @@ static int json_events(const char *fn, addfield(map, &je.metric_name, "", "", val); } else if (json_streq(map, field, "MetricGroup")) { addfield(map, &je.metric_group, "", "", val); + } else if (json_streq(map, field, "MetricgroupNoGroup")) { + addfield(map, &je.metric_group_nogroup, "", "", val); + } else if (json_streq(map, field, "DefaultMetricgroupName")) { + addfield(map, &je.default_metric_group, "", "", val); } else if (json_streq(map, field, "MetricConstraint")) { addfield(map, &je.metric_constraint, "", "", val); } else if (json_streq(map, field, "MetricExpr")) { addfield(map, &je.metric_expr, "", "", val); + } else if (json_streq(map, field, "MetricThreshold")) { + addfield(map, &je.metric_threshold, "", "", val); } else if (json_streq(map, field, "ArchStdEvent")) { addfield(map, &arch_std, "", "", val); for (s = arch_std; *s; s++) @@ -866,8 +887,11 @@ free_strings: free(je.deprecated); free(je.unit); free(je.metric_expr); + free(je.metric_threshold); free(je.metric_name); free(je.metric_group); + free(je.metric_group_nogroup); + free(je.default_metric_group); free(je.metric_constraint); free(arch_std); diff --git a/lib/libpmc/pmu-events/pmu-events.h b/lib/libpmc/pmu-events/pmu-events.h index d9edbfba7ceb..1a158a5f16f2 100644 --- a/lib/libpmc/pmu-events/pmu-events.h +++ b/lib/libpmc/pmu-events/pmu-events.h @@ -24,8 +24,11 @@ struct pmu_event { const char *perpkg; const char *aggr_mode; const char *metric_expr; + const char *metric_threshold; const char *metric_name; const char *metric_group; + const char *metric_group_nogroup; + const char *default_metric_group; const char *deprecated; const char *metric_constraint; };