lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220111150749.13365-1-andrew.kilroy@arm.com>
Date:   Tue, 11 Jan 2022 15:07:44 +0000
From:   Andrew Kilroy <andrew.kilroy@....com>
To:     linux-kernel@...r.kernel.org, linux-perf-users@...r.kernel.org,
        acme@...nel.org, john.garry@...wei.com, irogers@...gle.com,
        ak@...ux.intel.com
Cc:     Andrew Kilroy <andrew.kilroy@....com>,
        Mark Rutland <mark.rutland@....com>,
        Alexander Shishkin <alexander.shishkin@...ux.intel.com>,
        Jiri Olsa <jolsa@...hat.com>,
        Namhyung Kim <namhyung@...nel.org>
Subject: [RFC PATCH v2 0/5] topdown with metrics

This patch series adds the ability for the --topdown option to use
metrics (defined in json files in the pmu-events directory) to describe
how to calculate and determine the output columns for topdown level 1.

For this to work, a number of metrics have to be defined for the
relevant processor with the MetricGroup name "TopDownL1".  perf will
arrange for the events defined in each metric to be collected, and each
metric will be displayed in the output, as if

  perf stat -M 'TopDownL1' --metric-only -- exampleapp

had been used.

Topdown was already implemented where certain kernel events are defined.
If these kernel events are defined, the new json metrics behaviour is
not used.  The json metrics approach is only used if the kernel events
are absent.

The last patch in the series disables the json metrics behaviour on x86.
This is because of concerns that due to SMT it's not straightforward to
express the various formulas as json for certain x86 cpus.  See

  https://lore.kernel.org/linux-perf-users/12e0deef-08db-445f-4958-bcd5c3e10367@linux.intel.com/#t

Changes since v1:

Addition of code to detect whether topdown kernel events are available,
and if so use them.  Otherwise set up the json metrics.

Disable the use of json metrics on non-x86 architectures, for the reason
stated above.

 - Link to v1: 
   https://lore.kernel.org/linux-perf-users/20211214184240.24215-1-andrew.kilroy@arm.com/T/#m514a788bdc3613f057dbd5b6a339c762d37f8b85


Andrew Kilroy (5):
  perf stat: Implement --topdown with metrics
  perf stat: Topdown kernel events setup function
  perf stat: Topdown json metrics setup function
  perf stat: Detect if topdown kernel events supported
  perf stat: Ensure only topdown kernel events used on x86

 tools/perf/builtin-stat.c     | 257 +++++++++++++++++++++++++---------
 tools/perf/util/metricgroup.c |  12 ++
 tools/perf/util/metricgroup.h |   7 +
 tools/perf/util/topdown.c     |  10 ++
 tools/perf/util/topdown.h     |   1 +
 5 files changed, 223 insertions(+), 64 deletions(-)

-- 
2.17.1

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ