public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Ian Rogers <irogers@google.com>
To: Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@redhat.com>,
	 Arnaldo Carvalho de Melo <acme@kernel.org>,
	Namhyung Kim <namhyung@kernel.org>,
	 Mark Rutland <mark.rutland@arm.com>,
	 Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Jiri Olsa <jolsa@kernel.org>,  Ian Rogers <irogers@google.com>,
	Adrian Hunter <adrian.hunter@intel.com>,
	 John Garry <john.g.garry@oracle.com>,
	Kan Liang <kan.liang@linux.intel.com>,
	 Jing Zhang <renyu.zj@linux.alibaba.com>,
	Thomas Richter <tmricht@linux.ibm.com>,
	 James Clark <james.clark@arm.com>,
	linux-kernel@vger.kernel.org,  linux-perf-users@vger.kernel.org,
	Andi Kleen <ak@linux.intel.com>,
	 Kajol Jain <kjain@linux.ibm.com>,
	Sandipan Das <sandipan.das@amd.com>,
	 Ravi Bangoria <ravi.bangoria@amd.com>,
	Perry Taylor <perry.taylor@intel.com>,
	 Samantha Alt <samantha.alt@intel.com>,
	Caleb Biggers <caleb.biggers@intel.com>,
	 Weilin Wang <weilin.wang@intel.com>,
	Edward Baker <edward.baker@intel.com>,
	 Stephane Eranian <eranian@google.com>
Subject: [PATCH v1 00/12] Foundations for metric generation with Python
Date: Wed, 28 Feb 2024 09:56:05 -0800	[thread overview]
Message-ID: <20240228175617.4049201-1-irogers@google.com> (raw)

Metrics in the perf tool come in via json. Json doesn't allow
comments, line breaks, etc. making it an inconvenient way to write
metrics. Further, it is useful to detect when writing a metric that
the event specified is supported within the event json for a model.

These patches introduce infrastructure and fixes for the addition of
metrics written in python for Arm64, AMD Zen and Intel CPUs. Later
patches will introduce the metrics split apart by the vendor.

Ian Rogers (12):
  perf jevents: Allow multiple metricgroups.json files
  perf jevents: Update metric constraint support
  perf jevents: Add descriptions to metricgroup abstraction
  perf jevents: Allow metric groups not to be named
  perf jevents: Support parsing negative exponents
  perf jevents: Term list fix in event parsing
  perf jevents: Add threshold expressions to Metric
  perf jevents: Move json encoding to its own functions
  perf jevents: Drop duplicate pending metrics
  perf jevents: Skip optional metrics in metric group list
  perf jevents: Build support for generating metrics from python
  perf jevents: Add load event json to verify and allow fallbacks

 tools/perf/.gitignore                  |   2 +
 tools/perf/Makefile.perf               |  17 ++-
 tools/perf/pmu-events/Build            |  60 +++++++++-
 tools/perf/pmu-events/amd_metrics.py   |  22 ++++
 tools/perf/pmu-events/arm64_metrics.py |  23 ++++
 tools/perf/pmu-events/intel_metrics.py |  22 ++++
 tools/perf/pmu-events/jevents.py       |   6 +-
 tools/perf/pmu-events/metric.py        | 156 +++++++++++++++++++++----
 tools/perf/pmu-events/metric_test.py   |   4 +
 9 files changed, 277 insertions(+), 35 deletions(-)
 create mode 100755 tools/perf/pmu-events/amd_metrics.py
 create mode 100755 tools/perf/pmu-events/arm64_metrics.py
 create mode 100755 tools/perf/pmu-events/intel_metrics.py

-- 
2.44.0.278.ge034bb2e1d-goog


             reply	other threads:[~2024-02-28 17:56 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-28 17:56 Ian Rogers [this message]
2024-02-28 17:56 ` [PATCH v1 01/12] perf jevents: Allow multiple metricgroups.json files Ian Rogers
2024-02-28 17:56 ` [PATCH v1 02/12] perf jevents: Update metric constraint support Ian Rogers
2024-02-28 17:56 ` [PATCH v1 03/12] perf jevents: Add descriptions to metricgroup abstraction Ian Rogers
2024-02-28 17:56 ` [PATCH v1 04/12] perf jevents: Allow metric groups not to be named Ian Rogers
2024-02-28 17:56 ` [PATCH v1 05/12] perf jevents: Support parsing negative exponents Ian Rogers
2024-02-28 17:56 ` [PATCH v1 06/12] perf jevents: Term list fix in event parsing Ian Rogers
2024-02-28 17:56 ` [PATCH v1 07/12] perf jevents: Add threshold expressions to Metric Ian Rogers
2024-02-28 17:56 ` [PATCH v1 08/12] perf jevents: Move json encoding to its own functions Ian Rogers
2024-02-28 17:56 ` [PATCH v1 09/12] perf jevents: Drop duplicate pending metrics Ian Rogers
2024-02-28 17:56 ` [PATCH v1 10/12] perf jevents: Skip optional metrics in metric group list Ian Rogers
2024-02-28 17:56 ` [PATCH v1 11/12] perf jevents: Build support for generating metrics from python Ian Rogers
2024-02-28 17:56 ` [PATCH v1 12/12] perf jevents: Add load event json to verify and allow fallbacks Ian Rogers

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240228175617.4049201-1-irogers@google.com \
    --to=irogers@google.com \
    --cc=acme@kernel.org \
    --cc=adrian.hunter@intel.com \
    --cc=ak@linux.intel.com \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=caleb.biggers@intel.com \
    --cc=edward.baker@intel.com \
    --cc=eranian@google.com \
    --cc=james.clark@arm.com \
    --cc=john.g.garry@oracle.com \
    --cc=jolsa@kernel.org \
    --cc=kan.liang@linux.intel.com \
    --cc=kjain@linux.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mingo@redhat.com \
    --cc=namhyung@kernel.org \
    --cc=perry.taylor@intel.com \
    --cc=peterz@infradead.org \
    --cc=ravi.bangoria@amd.com \
    --cc=renyu.zj@linux.alibaba.com \
    --cc=samantha.alt@intel.com \
    --cc=sandipan.das@amd.com \
    --cc=tmricht@linux.ibm.com \
    --cc=weilin.wang@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox