All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ian Rogers <irogers@google.com>
To: Suzuki K Poulose <suzuki.poulose@arm.com>,
	Mike Leach <mike.leach@linaro.org>, Leo Yan <leo.yan@linaro.org>,
	John Garry <john.g.garry@oracle.com>,
	Will Deacon <will@kernel.org>, James Clark <james.clark@arm.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@redhat.com>,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Jiri Olsa <jolsa@kernel.org>, Namhyung Kim <namhyung@kernel.org>,
	Ian Rogers <irogers@google.com>,
	Adrian Hunter <adrian.hunter@intel.com>,
	Kajol Jain <kjain@linux.ibm.com>,
	Jing Zhang <renyu.zj@linux.alibaba.com>,
	Kan Liang <kan.liang@linux.intel.com>,
	Zhengjun Xing <zhengjun.xing@linux.intel.com>,
	Ravi Bangoria <ravi.bangoria@amd.com>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Athira Rajeev <atrajeev@linux.vnet.ibm.com>,
	Ming Wang <wangming01@loongson.cn>,
	Huacai Chen <chenhuacai@kernel.org>,
	Sandipan Das <sandipan.das@amd.com>,
	Dmitrii Dolgov <9erthalion6@gmail.com>,
	Sean Christopherson <seanjc@google.com>,
	Ali Saidi <alisaidi@amazon.com>, Rob Herring <robh@kernel.org>,
	Thomas Richter <tmricht@linux.ibm.com>,
	Kang Minchul <tegongkang@gmail.com>,
	linux-kernel@vger.kernel.org, coresight@lists.linaro.org,
	linux-arm-kernel@lists.infradead.org,
	linux-perf-users@vger.kernel.org
Subject: [PATCH v5 00/34] PMU refactoring and improvements
Date: Sat, 27 May 2023 00:21:36 -0700	[thread overview]
Message-ID: <20230527072210.2900565-1-irogers@google.com> (raw)

Separate the code in pmu.[ch] into the set/list of PMUs and the code
for a particular PMU. Move the set/list of PMUs code into
pmus.[ch]. Clean up hybrid code and remove hybrid PMU list, it is
sufficient to scan PMUs looking for core ones. Add core PMU list and
perf_pmus__scan_core that just reads core PMUs. Switch code that skips
non-core PMUs during a perf_pmus__scan, to use the
perf_pmus__scan_core variant. Don't scan sysfs for PMUs if all such
PMUs have been previously scanned/loaded. Scanning just core PMUs, for
the cases it is applicable, can improve the sysfs reading time by more
than 4 fold on my laptop, as servers generally have many more uncore
PMUs the improvement there should be larger:

```
$ perf bench internals pmu-scan -i 1000
Computing performance of sysfs PMU event scan for 1000 times
  Average core PMU scanning took: 989.231 usec (+- 1.535 usec)
  Average PMU scanning took: 4309.425 usec (+- 74.322 usec)
```

The patch "perf pmu: Separate pmu and pmus" moves and renames a lot of
functions, and is consequently large. The changes are trivial, but
kept together to keep the overall number of patches more reasonable.

v5. Add helper functions for cpumap as suggested by Arnaldo. Fixes
    missing symbols in importing perf into python, found by building
    with:
    https://lore.kernel.org/lkml/20230527055517.2711487-1-irogers@google.com/
v4. On patch 16 (perf pmu: Remove perf_pmu__hybrid_mounted) remove the
    handling of no cpus for a hybrid core PMU following discussion
    with Kan:
    https://lore.kernel.org/lkml/20230524221831.1741381-17-irogers@google.com/
    On patch 9 (perf evlist: Propagate user CPU maps intersecting core
    PMU maps) fix the comment on struct perf_evsel's system_wide
    variable from conversation with Namhyung:
    https://lore.kernel.org/lkml/20230524221831.1741381-10-irogers@google.com/
    Adds Kan's reviewed-by.
v3. Address fixing hybrid user specified CPU maps by doing it in
    propagate maps. Remove nearly all references to cpu_core/cpu_atom
    in particular by removing is_pmu_hybrid - hybrid is now >1 core
    PMU. Addresses comments by Kan and Namhyung.
v2. Address Kan's review comments wrt "cycles" -> "cycles:P" and
    "uncore_pmus" -> "other_pmus".

Ian Rogers (34):
  perf cpumap: Add internal nr and cpu accessors
  perf cpumap: Add equal function
  libperf cpumap: Add "any CPU"/dummy test function
  perf pmu: Detect ARM and hybrid PMUs with sysfs
  perf pmu: Add is_core to pmu
  perf evsel: Add is_pmu_core inorder to interpret own_cpus
  perf pmu: Add CPU map for "cpu" PMUs
  perf evlist: Propagate user CPU maps intersecting core PMU maps
  perf evlist: Allow has_user_cpus to be set on hybrid
  perf target: Remove unused hybrid value
  perf tools: Warn if no user requested CPUs match PMU's CPUs
  perf evlist: Remove evlist__warn_hybrid_group
  perf evlist: Remove __evlist__add_default
  perf evlist: Reduce scope of evlist__has_hybrid
  perf pmu: Remove perf_pmu__hybrid_mounted
  perf pmu: Rewrite perf_pmu__has_hybrid to avoid list
  perf x86: Iterate hybrid PMUs as core PMUs
  perf topology: Avoid hybrid list for hybrid topology
  perf evsel: Compute is_hybrid from PMU being core
  perf header: Avoid hybrid PMU list in write_pmu_caps
  perf metrics: Remove perf_pmu__is_hybrid use
  perf stat: Avoid hybrid PMU list
  perf mem: Avoid hybrid PMU list
  perf pmu: Remove perf_pmu__hybrid_pmus list
  perf pmus: Prefer perf_pmu__scan over perf_pmus__for_each_pmu
  perf x86 mem: minor refactor to is_mem_loads_aux_event
  perf pmu: Separate pmu and pmus
  perf pmus: Split pmus list into core and other
  perf pmus: Allow just core PMU scanning
  perf pmus: Avoid repeated sysfs scanning
  perf pmus: Ensure all PMUs are read for find_by_type
  perf pmus: Add function to return count of core PMUs
  perf pmus: Remove perf_pmus__has_hybrid
  perf pmu: Remove is_pmu_hybrid

 tools/lib/perf/cpumap.c                 | 100 +++--
 tools/lib/perf/evlist.c                 |  25 +-
 tools/lib/perf/include/internal/evsel.h |  15 +-
 tools/lib/perf/include/perf/cpumap.h    |  12 +
 tools/perf/arch/arm/util/auxtrace.c     |   7 +-
 tools/perf/arch/arm/util/cs-etm.c       |   4 +-
 tools/perf/arch/arm64/util/pmu.c        |   6 +-
 tools/perf/arch/x86/tests/hybrid.c      |   7 +-
 tools/perf/arch/x86/util/auxtrace.c     |   5 +-
 tools/perf/arch/x86/util/evlist.c       |  25 +-
 tools/perf/arch/x86/util/evsel.c        |  27 +-
 tools/perf/arch/x86/util/intel-bts.c    |   4 +-
 tools/perf/arch/x86/util/intel-pt.c     |   4 +-
 tools/perf/arch/x86/util/mem-events.c   |  17 +-
 tools/perf/arch/x86/util/perf_regs.c    |  15 +-
 tools/perf/arch/x86/util/topdown.c      |   5 +-
 tools/perf/bench/pmu-scan.c             |  60 +--
 tools/perf/builtin-c2c.c                |   9 +-
 tools/perf/builtin-list.c               |   4 +-
 tools/perf/builtin-mem.c                |   9 +-
 tools/perf/builtin-record.c             |  29 +-
 tools/perf/builtin-stat.c               |  14 +-
 tools/perf/builtin-top.c                |  10 +-
 tools/perf/tests/attr.c                 |  11 +-
 tools/perf/tests/cpumap.c               |  37 ++
 tools/perf/tests/event_groups.c         |   7 +-
 tools/perf/tests/parse-events.c         |  15 +-
 tools/perf/tests/parse-metric.c         |   9 +-
 tools/perf/tests/pmu-events.c           |   6 +-
 tools/perf/tests/switch-tracking.c      |  14 +-
 tools/perf/tests/topology.c             |  16 +-
 tools/perf/util/Build                   |   2 -
 tools/perf/util/cpumap.c                |   4 +-
 tools/perf/util/cpumap.h                |   4 +-
 tools/perf/util/cputopo.c               |  12 +-
 tools/perf/util/env.c                   |   5 +-
 tools/perf/util/evlist-hybrid.c         | 162 --------
 tools/perf/util/evlist-hybrid.h         |  15 -
 tools/perf/util/evlist.c                |  64 +++-
 tools/perf/util/evlist.h                |   9 +-
 tools/perf/util/evsel.c                 |  60 +--
 tools/perf/util/evsel.h                 |   3 -
 tools/perf/util/header.c                |  27 +-
 tools/perf/util/mem-events.c            |  25 +-
 tools/perf/util/metricgroup.c           |   9 +-
 tools/perf/util/parse-events.c          |  25 +-
 tools/perf/util/parse-events.y          |   3 +-
 tools/perf/util/pfm.c                   |   6 +-
 tools/perf/util/pmu-hybrid.c            |  52 ---
 tools/perf/util/pmu-hybrid.h            |  32 --
 tools/perf/util/pmu.c                   | 470 +-----------------------
 tools/perf/util/pmu.h                   |  25 +-
 tools/perf/util/pmus.c                  | 465 ++++++++++++++++++++++-
 tools/perf/util/pmus.h                  |  15 +-
 tools/perf/util/print-events.c          |  15 +-
 tools/perf/util/python-ext-sources      |   1 -
 tools/perf/util/python.c                |  14 +
 tools/perf/util/stat-display.c          |  19 +-
 tools/perf/util/target.h                |   1 -
 59 files changed, 960 insertions(+), 1112 deletions(-)
 delete mode 100644 tools/perf/util/evlist-hybrid.c
 delete mode 100644 tools/perf/util/evlist-hybrid.h
 delete mode 100644 tools/perf/util/pmu-hybrid.c
 delete mode 100644 tools/perf/util/pmu-hybrid.h

-- 
2.41.0.rc0.172.g3f132b7071-goog


WARNING: multiple messages have this Message-ID (diff)
From: Ian Rogers <irogers@google.com>
To: Suzuki K Poulose <suzuki.poulose@arm.com>,
	Mike Leach <mike.leach@linaro.org>,  Leo Yan <leo.yan@linaro.org>,
	John Garry <john.g.garry@oracle.com>,
	 Will Deacon <will@kernel.org>, James Clark <james.clark@arm.com>,
	 Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@redhat.com>,
	 Arnaldo Carvalho de Melo <acme@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	 Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Jiri Olsa <jolsa@kernel.org>,  Namhyung Kim <namhyung@kernel.org>,
	Ian Rogers <irogers@google.com>,
	 Adrian Hunter <adrian.hunter@intel.com>,
	Kajol Jain <kjain@linux.ibm.com>,
	 Jing Zhang <renyu.zj@linux.alibaba.com>,
	Kan Liang <kan.liang@linux.intel.com>,
	 Zhengjun Xing <zhengjun.xing@linux.intel.com>,
	Ravi Bangoria <ravi.bangoria@amd.com>,
	 Madhavan Srinivasan <maddy@linux.ibm.com>,
	Athira Rajeev <atrajeev@linux.vnet.ibm.com>,
	 Ming Wang <wangming01@loongson.cn>,
	Huacai Chen <chenhuacai@kernel.org>,
	 Sandipan Das <sandipan.das@amd.com>,
	Dmitrii Dolgov <9erthalion6@gmail.com>,
	 Sean Christopherson <seanjc@google.com>,
	Ali Saidi <alisaidi@amazon.com>, Rob Herring <robh@kernel.org>,
	 Thomas Richter <tmricht@linux.ibm.com>,
	Kang Minchul <tegongkang@gmail.com>,
	 linux-kernel@vger.kernel.org, coresight@lists.linaro.org,
	 linux-arm-kernel@lists.infradead.org,
	linux-perf-users@vger.kernel.org
Subject: [PATCH v5 00/34] PMU refactoring and improvements
Date: Sat, 27 May 2023 00:21:36 -0700	[thread overview]
Message-ID: <20230527072210.2900565-1-irogers@google.com> (raw)

Separate the code in pmu.[ch] into the set/list of PMUs and the code
for a particular PMU. Move the set/list of PMUs code into
pmus.[ch]. Clean up hybrid code and remove hybrid PMU list, it is
sufficient to scan PMUs looking for core ones. Add core PMU list and
perf_pmus__scan_core that just reads core PMUs. Switch code that skips
non-core PMUs during a perf_pmus__scan, to use the
perf_pmus__scan_core variant. Don't scan sysfs for PMUs if all such
PMUs have been previously scanned/loaded. Scanning just core PMUs, for
the cases it is applicable, can improve the sysfs reading time by more
than 4 fold on my laptop, as servers generally have many more uncore
PMUs the improvement there should be larger:

```
$ perf bench internals pmu-scan -i 1000
Computing performance of sysfs PMU event scan for 1000 times
  Average core PMU scanning took: 989.231 usec (+- 1.535 usec)
  Average PMU scanning took: 4309.425 usec (+- 74.322 usec)
```

The patch "perf pmu: Separate pmu and pmus" moves and renames a lot of
functions, and is consequently large. The changes are trivial, but
kept together to keep the overall number of patches more reasonable.

v5. Add helper functions for cpumap as suggested by Arnaldo. Fixes
    missing symbols in importing perf into python, found by building
    with:
    https://lore.kernel.org/lkml/20230527055517.2711487-1-irogers@google.com/
v4. On patch 16 (perf pmu: Remove perf_pmu__hybrid_mounted) remove the
    handling of no cpus for a hybrid core PMU following discussion
    with Kan:
    https://lore.kernel.org/lkml/20230524221831.1741381-17-irogers@google.com/
    On patch 9 (perf evlist: Propagate user CPU maps intersecting core
    PMU maps) fix the comment on struct perf_evsel's system_wide
    variable from conversation with Namhyung:
    https://lore.kernel.org/lkml/20230524221831.1741381-10-irogers@google.com/
    Adds Kan's reviewed-by.
v3. Address fixing hybrid user specified CPU maps by doing it in
    propagate maps. Remove nearly all references to cpu_core/cpu_atom
    in particular by removing is_pmu_hybrid - hybrid is now >1 core
    PMU. Addresses comments by Kan and Namhyung.
v2. Address Kan's review comments wrt "cycles" -> "cycles:P" and
    "uncore_pmus" -> "other_pmus".

Ian Rogers (34):
  perf cpumap: Add internal nr and cpu accessors
  perf cpumap: Add equal function
  libperf cpumap: Add "any CPU"/dummy test function
  perf pmu: Detect ARM and hybrid PMUs with sysfs
  perf pmu: Add is_core to pmu
  perf evsel: Add is_pmu_core inorder to interpret own_cpus
  perf pmu: Add CPU map for "cpu" PMUs
  perf evlist: Propagate user CPU maps intersecting core PMU maps
  perf evlist: Allow has_user_cpus to be set on hybrid
  perf target: Remove unused hybrid value
  perf tools: Warn if no user requested CPUs match PMU's CPUs
  perf evlist: Remove evlist__warn_hybrid_group
  perf evlist: Remove __evlist__add_default
  perf evlist: Reduce scope of evlist__has_hybrid
  perf pmu: Remove perf_pmu__hybrid_mounted
  perf pmu: Rewrite perf_pmu__has_hybrid to avoid list
  perf x86: Iterate hybrid PMUs as core PMUs
  perf topology: Avoid hybrid list for hybrid topology
  perf evsel: Compute is_hybrid from PMU being core
  perf header: Avoid hybrid PMU list in write_pmu_caps
  perf metrics: Remove perf_pmu__is_hybrid use
  perf stat: Avoid hybrid PMU list
  perf mem: Avoid hybrid PMU list
  perf pmu: Remove perf_pmu__hybrid_pmus list
  perf pmus: Prefer perf_pmu__scan over perf_pmus__for_each_pmu
  perf x86 mem: minor refactor to is_mem_loads_aux_event
  perf pmu: Separate pmu and pmus
  perf pmus: Split pmus list into core and other
  perf pmus: Allow just core PMU scanning
  perf pmus: Avoid repeated sysfs scanning
  perf pmus: Ensure all PMUs are read for find_by_type
  perf pmus: Add function to return count of core PMUs
  perf pmus: Remove perf_pmus__has_hybrid
  perf pmu: Remove is_pmu_hybrid

 tools/lib/perf/cpumap.c                 | 100 +++--
 tools/lib/perf/evlist.c                 |  25 +-
 tools/lib/perf/include/internal/evsel.h |  15 +-
 tools/lib/perf/include/perf/cpumap.h    |  12 +
 tools/perf/arch/arm/util/auxtrace.c     |   7 +-
 tools/perf/arch/arm/util/cs-etm.c       |   4 +-
 tools/perf/arch/arm64/util/pmu.c        |   6 +-
 tools/perf/arch/x86/tests/hybrid.c      |   7 +-
 tools/perf/arch/x86/util/auxtrace.c     |   5 +-
 tools/perf/arch/x86/util/evlist.c       |  25 +-
 tools/perf/arch/x86/util/evsel.c        |  27 +-
 tools/perf/arch/x86/util/intel-bts.c    |   4 +-
 tools/perf/arch/x86/util/intel-pt.c     |   4 +-
 tools/perf/arch/x86/util/mem-events.c   |  17 +-
 tools/perf/arch/x86/util/perf_regs.c    |  15 +-
 tools/perf/arch/x86/util/topdown.c      |   5 +-
 tools/perf/bench/pmu-scan.c             |  60 +--
 tools/perf/builtin-c2c.c                |   9 +-
 tools/perf/builtin-list.c               |   4 +-
 tools/perf/builtin-mem.c                |   9 +-
 tools/perf/builtin-record.c             |  29 +-
 tools/perf/builtin-stat.c               |  14 +-
 tools/perf/builtin-top.c                |  10 +-
 tools/perf/tests/attr.c                 |  11 +-
 tools/perf/tests/cpumap.c               |  37 ++
 tools/perf/tests/event_groups.c         |   7 +-
 tools/perf/tests/parse-events.c         |  15 +-
 tools/perf/tests/parse-metric.c         |   9 +-
 tools/perf/tests/pmu-events.c           |   6 +-
 tools/perf/tests/switch-tracking.c      |  14 +-
 tools/perf/tests/topology.c             |  16 +-
 tools/perf/util/Build                   |   2 -
 tools/perf/util/cpumap.c                |   4 +-
 tools/perf/util/cpumap.h                |   4 +-
 tools/perf/util/cputopo.c               |  12 +-
 tools/perf/util/env.c                   |   5 +-
 tools/perf/util/evlist-hybrid.c         | 162 --------
 tools/perf/util/evlist-hybrid.h         |  15 -
 tools/perf/util/evlist.c                |  64 +++-
 tools/perf/util/evlist.h                |   9 +-
 tools/perf/util/evsel.c                 |  60 +--
 tools/perf/util/evsel.h                 |   3 -
 tools/perf/util/header.c                |  27 +-
 tools/perf/util/mem-events.c            |  25 +-
 tools/perf/util/metricgroup.c           |   9 +-
 tools/perf/util/parse-events.c          |  25 +-
 tools/perf/util/parse-events.y          |   3 +-
 tools/perf/util/pfm.c                   |   6 +-
 tools/perf/util/pmu-hybrid.c            |  52 ---
 tools/perf/util/pmu-hybrid.h            |  32 --
 tools/perf/util/pmu.c                   | 470 +-----------------------
 tools/perf/util/pmu.h                   |  25 +-
 tools/perf/util/pmus.c                  | 465 ++++++++++++++++++++++-
 tools/perf/util/pmus.h                  |  15 +-
 tools/perf/util/print-events.c          |  15 +-
 tools/perf/util/python-ext-sources      |   1 -
 tools/perf/util/python.c                |  14 +
 tools/perf/util/stat-display.c          |  19 +-
 tools/perf/util/target.h                |   1 -
 59 files changed, 960 insertions(+), 1112 deletions(-)
 delete mode 100644 tools/perf/util/evlist-hybrid.c
 delete mode 100644 tools/perf/util/evlist-hybrid.h
 delete mode 100644 tools/perf/util/pmu-hybrid.c
 delete mode 100644 tools/perf/util/pmu-hybrid.h

-- 
2.41.0.rc0.172.g3f132b7071-goog


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

             reply	other threads:[~2023-05-27  7:22 UTC|newest]

Thread overview: 103+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-27  7:21 Ian Rogers [this message]
2023-05-27  7:21 ` [PATCH v5 00/34] PMU refactoring and improvements Ian Rogers
2023-05-27  7:21 ` [PATCH v5 01/34] perf cpumap: Add internal nr and cpu accessors Ian Rogers
2023-05-27  7:21   ` Ian Rogers
2023-05-27  7:21 ` [PATCH v5 02/34] perf cpumap: Add equal function Ian Rogers
2023-05-27  7:21   ` Ian Rogers
2023-05-27  7:21 ` [PATCH v5 03/34] libperf cpumap: Add "any CPU"/dummy test function Ian Rogers
2023-05-27  7:21   ` Ian Rogers
2023-05-27  7:21 ` [PATCH v5 04/34] perf pmu: Detect ARM and hybrid PMUs with sysfs Ian Rogers
2023-05-27  7:21   ` Ian Rogers
2023-05-27  7:21 ` [PATCH v5 05/34] perf pmu: Add is_core to pmu Ian Rogers
2023-05-27  7:21   ` Ian Rogers
2023-05-27  7:21 ` [PATCH v5 06/34] perf evsel: Add is_pmu_core inorder to interpret own_cpus Ian Rogers
2023-05-27  7:21   ` Ian Rogers
2023-05-27  7:21 ` [PATCH v5 07/34] perf pmu: Add CPU map for "cpu" PMUs Ian Rogers
2023-05-27  7:21   ` Ian Rogers
2023-05-27  7:21 ` [PATCH v5 08/34] perf evlist: Propagate user CPU maps intersecting core PMU maps Ian Rogers
2023-05-27  7:21   ` Ian Rogers
2023-05-27  7:21 ` [PATCH v5 09/34] perf evlist: Allow has_user_cpus to be set on hybrid Ian Rogers
2023-05-27  7:21   ` Ian Rogers
2023-05-27  7:21 ` [PATCH v5 10/34] perf target: Remove unused hybrid value Ian Rogers
2023-05-27  7:21   ` Ian Rogers
2023-05-27  7:21 ` [PATCH v5 11/34] perf tools: Warn if no user requested CPUs match PMU's CPUs Ian Rogers
2023-05-27  7:21   ` Ian Rogers
2023-05-27  7:21 ` [PATCH v5 12/34] perf evlist: Remove evlist__warn_hybrid_group Ian Rogers
2023-05-27  7:21   ` Ian Rogers
2023-05-27  7:21 ` [PATCH v5 13/34] perf evlist: Remove __evlist__add_default Ian Rogers
2023-05-27  7:21   ` Ian Rogers
2023-05-27  7:21 ` [PATCH v5 14/34] perf evlist: Reduce scope of evlist__has_hybrid Ian Rogers
2023-05-27  7:21   ` Ian Rogers
2023-05-27  7:21 ` [PATCH v5 15/34] perf pmu: Remove perf_pmu__hybrid_mounted Ian Rogers
2023-05-27  7:21   ` Ian Rogers
2023-05-27  7:21 ` [PATCH v5 16/34] perf pmu: Rewrite perf_pmu__has_hybrid to avoid list Ian Rogers
2023-05-27  7:21   ` Ian Rogers
2023-05-27  7:21 ` [PATCH v5 17/34] perf x86: Iterate hybrid PMUs as core PMUs Ian Rogers
2023-05-27  7:21   ` Ian Rogers
2023-05-27  7:21 ` [PATCH v5 18/34] perf topology: Avoid hybrid list for hybrid topology Ian Rogers
2023-05-27  7:21   ` Ian Rogers
2023-05-27  7:21 ` [PATCH v5 19/34] perf evsel: Compute is_hybrid from PMU being core Ian Rogers
2023-05-27  7:21   ` Ian Rogers
2023-05-27  7:21 ` [PATCH v5 20/34] perf header: Avoid hybrid PMU list in write_pmu_caps Ian Rogers
2023-05-27  7:21   ` Ian Rogers
2023-05-27  7:21 ` [PATCH v5 21/34] perf metrics: Remove perf_pmu__is_hybrid use Ian Rogers
2023-05-27  7:21   ` Ian Rogers
2023-05-27  7:21 ` [PATCH v5 22/34] perf stat: Avoid hybrid PMU list Ian Rogers
2023-05-27  7:21   ` Ian Rogers
2023-05-27  7:21 ` [PATCH v5 23/34] perf mem: " Ian Rogers
2023-05-27  7:21   ` Ian Rogers
2023-05-27  7:22 ` [PATCH v5 24/34] perf pmu: Remove perf_pmu__hybrid_pmus list Ian Rogers
2023-05-27  7:22   ` Ian Rogers
2023-05-27  7:22 ` [PATCH v5 25/34] perf pmus: Prefer perf_pmu__scan over perf_pmus__for_each_pmu Ian Rogers
2023-05-27  7:22   ` Ian Rogers
2023-05-27  7:22 ` [PATCH v5 26/34] perf x86 mem: minor refactor to is_mem_loads_aux_event Ian Rogers
2023-05-27  7:22   ` Ian Rogers
2023-05-27  7:22 ` [PATCH v5 27/34] perf pmu: Separate pmu and pmus Ian Rogers
2023-05-27  7:22   ` Ian Rogers
2023-06-02  5:29   ` [PATCH] perf test amd: Fix build failure with amd-ibs-via-core-pmu.c -- Was: " Ravi Bangoria
2023-06-02  5:29     ` Ravi Bangoria
2023-06-02  6:42     ` Ian Rogers
2023-06-02  6:42       ` Ian Rogers
2023-06-03  4:46       ` [PATCH v2] perf test amd: Fix build failure with amd-ibs-via-core-pmu.c Ravi Bangoria
2023-06-03  4:46         ` Ravi Bangoria
2023-06-05 14:27         ` Arnaldo Carvalho de Melo
2023-06-05 14:27           ` Arnaldo Carvalho de Melo
2023-06-06  3:12           ` Ravi Bangoria
2023-06-06  3:12             ` Ravi Bangoria
2023-06-06  4:24           ` Stephen Rothwell
2023-06-06  4:24             ` Stephen Rothwell
2023-06-07  0:56             ` Stephen Rothwell
2023-06-07  0:56               ` Stephen Rothwell
2023-05-27  7:22 ` [PATCH v5 28/34] perf pmus: Split pmus list into core and other Ian Rogers
2023-05-27  7:22   ` Ian Rogers
2023-06-09  3:59   ` Ravi Bangoria
2023-06-09  3:59     ` Ravi Bangoria
2023-06-09  4:40     ` Ian Rogers
2023-06-09  4:40       ` Ian Rogers
2023-06-09  5:30       ` Ravi Bangoria
2023-06-09  5:30         ` Ravi Bangoria
2023-06-09  5:35         ` Ian Rogers
2023-06-09  5:35           ` Ian Rogers
2023-06-09  5:55           ` Ravi Bangoria
2023-06-09  5:55             ` Ravi Bangoria
2023-06-09  6:00             ` Ian Rogers
2023-06-09  6:00               ` Ian Rogers
2023-06-09  6:02               ` Ravi Bangoria
2023-06-09  6:02                 ` Ravi Bangoria
2023-06-09  7:58           ` Mark Rutland
2023-06-09  7:58             ` Mark Rutland
2023-06-11  3:55             ` Ian Rogers
2023-05-27  7:22 ` [PATCH v5 29/34] perf pmus: Allow just core PMU scanning Ian Rogers
2023-05-27  7:22   ` Ian Rogers
2023-06-09  6:12   ` Ravi Bangoria
2023-06-09  6:12     ` Ravi Bangoria
2023-05-27  7:22 ` [PATCH v5 30/34] perf pmus: Avoid repeated sysfs scanning Ian Rogers
2023-05-27  7:22   ` Ian Rogers
2023-05-27  7:22 ` [PATCH v5 31/34] perf pmus: Ensure all PMUs are read for find_by_type Ian Rogers
2023-05-27  7:22   ` Ian Rogers
2023-05-27  7:22 ` [PATCH v5 32/34] perf pmus: Add function to return count of core PMUs Ian Rogers
2023-05-27  7:22   ` Ian Rogers
2023-05-27  7:22 ` [PATCH v5 33/34] perf pmus: Remove perf_pmus__has_hybrid Ian Rogers
2023-05-27  7:22   ` Ian Rogers
2023-05-27  7:22 ` [PATCH v5 34/34] perf pmu: Remove is_pmu_hybrid Ian Rogers
2023-05-27  7:22   ` 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=20230527072210.2900565-1-irogers@google.com \
    --to=irogers@google.com \
    --cc=9erthalion6@gmail.com \
    --cc=acme@kernel.org \
    --cc=adrian.hunter@intel.com \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=alisaidi@amazon.com \
    --cc=atrajeev@linux.vnet.ibm.com \
    --cc=chenhuacai@kernel.org \
    --cc=coresight@lists.linaro.org \
    --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=leo.yan@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=maddy@linux.ibm.com \
    --cc=mark.rutland@arm.com \
    --cc=mike.leach@linaro.org \
    --cc=mingo@redhat.com \
    --cc=namhyung@kernel.org \
    --cc=peterz@infradead.org \
    --cc=ravi.bangoria@amd.com \
    --cc=renyu.zj@linux.alibaba.com \
    --cc=robh@kernel.org \
    --cc=sandipan.das@amd.com \
    --cc=seanjc@google.com \
    --cc=suzuki.poulose@arm.com \
    --cc=tegongkang@gmail.com \
    --cc=tmricht@linux.ibm.com \
    --cc=wangming01@loongson.cn \
    --cc=will@kernel.org \
    --cc=zhengjun.xing@linux.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.