From: "Liang, Kan" <kan.liang@linux.intel.com>
To: Ian Rogers <irogers@google.com>,
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>,
Adrian Hunter <adrian.hunter@intel.com>,
Kajol Jain <kjain@linux.ibm.com>,
Jing Zhang <renyu.zj@linux.alibaba.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: Re: [PATCH v3 00/35] PMU refactoring and improvements
Date: Fri, 26 May 2023 14:17:04 -0400 [thread overview]
Message-ID: <ff66c90b-b59e-5720-dd88-f15311a74e50@linux.intel.com> (raw)
In-Reply-To: <20230524221831.1741381-1-irogers@google.com>
On 2023-05-24 6:17 p.m., Ian Rogers wrote:
> 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.
>
Other than the small suggestion in patch 16, the patch set looks good to
me. Thanks Ian!
Reviewed-by: Kan Liang <kan.liang@linux.intel.com>
Thanks,
Kan
> 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 (35):
> perf cpumap: Add intersect function
> perf tests: Organize cpu_map tests into a single suite
> 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 | 61 +++
> tools/lib/perf/evlist.c | 25 +-
> tools/lib/perf/include/internal/evsel.h | 9 +
> tools/lib/perf/include/perf/cpumap.h | 14 +
> 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/builtin-test.c | 4 +-
> tools/perf/tests/cpumap.c | 92 ++++-
> 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/tests.h | 4 +-
> 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 | 483 ++----------------------
> 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/stat-display.c | 19 +-
> tools/perf/util/target.h | 1 -
> 60 files changed, 1002 insertions(+), 1089 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
>
WARNING: multiple messages have this Message-ID (diff)
From: "Liang, Kan" <kan.liang@linux.intel.com>
To: Ian Rogers <irogers@google.com>,
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>,
Adrian Hunter <adrian.hunter@intel.com>,
Kajol Jain <kjain@linux.ibm.com>,
Jing Zhang <renyu.zj@linux.alibaba.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: Re: [PATCH v3 00/35] PMU refactoring and improvements
Date: Fri, 26 May 2023 14:17:04 -0400 [thread overview]
Message-ID: <ff66c90b-b59e-5720-dd88-f15311a74e50@linux.intel.com> (raw)
In-Reply-To: <20230524221831.1741381-1-irogers@google.com>
On 2023-05-24 6:17 p.m., Ian Rogers wrote:
> 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.
>
Other than the small suggestion in patch 16, the patch set looks good to
me. Thanks Ian!
Reviewed-by: Kan Liang <kan.liang@linux.intel.com>
Thanks,
Kan
> 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 (35):
> perf cpumap: Add intersect function
> perf tests: Organize cpu_map tests into a single suite
> 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 | 61 +++
> tools/lib/perf/evlist.c | 25 +-
> tools/lib/perf/include/internal/evsel.h | 9 +
> tools/lib/perf/include/perf/cpumap.h | 14 +
> 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/builtin-test.c | 4 +-
> tools/perf/tests/cpumap.c | 92 ++++-
> 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/tests.h | 4 +-
> 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 | 483 ++----------------------
> 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/stat-display.c | 19 +-
> tools/perf/util/target.h | 1 -
> 60 files changed, 1002 insertions(+), 1089 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
>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2023-05-26 18:17 UTC|newest]
Thread overview: 88+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-05-24 22:17 [PATCH v3 00/35] PMU refactoring and improvements Ian Rogers
2023-05-24 22:17 ` Ian Rogers
2023-05-24 22:17 ` [PATCH v3 01/35] perf cpumap: Add intersect function Ian Rogers
2023-05-24 22:17 ` Ian Rogers
2023-05-24 22:17 ` [PATCH v3 02/35] perf tests: Organize cpu_map tests into a single suite Ian Rogers
2023-05-24 22:17 ` Ian Rogers
2023-05-24 22:17 ` [PATCH v3 03/35] perf cpumap: Add equal function Ian Rogers
2023-05-24 22:17 ` Ian Rogers
2023-05-24 22:18 ` [PATCH v3 04/35] libperf cpumap: Add "any CPU"/dummy test function Ian Rogers
2023-05-24 22:18 ` Ian Rogers
2023-05-24 22:18 ` [PATCH v3 05/35] perf pmu: Detect ARM and hybrid PMUs with sysfs Ian Rogers
2023-05-24 22:18 ` Ian Rogers
2023-05-24 22:18 ` [PATCH v3 06/35] perf pmu: Add is_core to pmu Ian Rogers
2023-05-24 22:18 ` Ian Rogers
2023-05-24 22:18 ` [PATCH v3 07/35] perf evsel: Add is_pmu_core inorder to interpret own_cpus Ian Rogers
2023-05-24 22:18 ` Ian Rogers
2023-05-24 22:18 ` [PATCH v3 08/35] perf pmu: Add CPU map for "cpu" PMUs Ian Rogers
2023-05-24 22:18 ` Ian Rogers
2023-05-24 22:18 ` [PATCH v3 09/35] perf evlist: Propagate user CPU maps intersecting core PMU maps Ian Rogers
2023-05-24 22:18 ` Ian Rogers
2023-05-25 5:30 ` Namhyung Kim
2023-05-25 5:30 ` Namhyung Kim
2023-05-26 21:40 ` Ian Rogers
2023-05-26 21:40 ` Ian Rogers
2023-05-24 22:18 ` [PATCH v3 10/35] perf evlist: Allow has_user_cpus to be set on hybrid Ian Rogers
2023-05-24 22:18 ` Ian Rogers
2023-05-24 22:18 ` [PATCH v3 11/35] perf target: Remove unused hybrid value Ian Rogers
2023-05-24 22:18 ` Ian Rogers
2023-05-24 22:18 ` [PATCH v3 12/35] perf tools: Warn if no user requested CPUs match PMU's CPUs Ian Rogers
2023-05-24 22:18 ` Ian Rogers
2023-05-24 22:18 ` [PATCH v3 13/35] perf evlist: Remove evlist__warn_hybrid_group Ian Rogers
2023-05-24 22:18 ` Ian Rogers
2023-05-24 22:18 ` [PATCH v3 14/35] perf evlist: Remove __evlist__add_default Ian Rogers
2023-05-24 22:18 ` Ian Rogers
2023-05-24 22:18 ` [PATCH v3 15/35] perf evlist: Reduce scope of evlist__has_hybrid Ian Rogers
2023-05-24 22:18 ` Ian Rogers
2023-05-24 22:18 ` [PATCH v3 16/35] perf pmu: Remove perf_pmu__hybrid_mounted Ian Rogers
2023-05-24 22:18 ` Ian Rogers
2023-05-26 18:13 ` Liang, Kan
2023-05-26 18:13 ` Liang, Kan
2023-05-26 18:33 ` Ian Rogers
2023-05-26 18:33 ` Ian Rogers
2023-05-26 19:01 ` Liang, Kan
2023-05-26 19:01 ` Liang, Kan
2023-05-26 19:31 ` Ian Rogers
2023-05-26 19:31 ` Ian Rogers
2023-05-24 22:18 ` [PATCH v3 17/35] perf pmu: Rewrite perf_pmu__has_hybrid to avoid list Ian Rogers
2023-05-24 22:18 ` Ian Rogers
2023-05-24 22:18 ` [PATCH v3 18/35] perf x86: Iterate hybrid PMUs as core PMUs Ian Rogers
2023-05-24 22:18 ` Ian Rogers
2023-05-24 22:18 ` [PATCH v3 19/35] perf topology: Avoid hybrid list for hybrid topology Ian Rogers
2023-05-24 22:18 ` Ian Rogers
2023-05-24 22:18 ` [PATCH v3 20/35] perf evsel: Compute is_hybrid from PMU being core Ian Rogers
2023-05-24 22:18 ` Ian Rogers
2023-05-24 22:18 ` [PATCH v3 21/35] perf header: Avoid hybrid PMU list in write_pmu_caps Ian Rogers
2023-05-24 22:18 ` Ian Rogers
2023-05-24 22:18 ` [PATCH v3 22/35] perf metrics: Remove perf_pmu__is_hybrid use Ian Rogers
2023-05-24 22:18 ` Ian Rogers
2023-05-24 22:18 ` [PATCH v3 23/35] perf stat: Avoid hybrid PMU list Ian Rogers
2023-05-24 22:18 ` Ian Rogers
2023-05-24 22:18 ` [PATCH v3 24/35] perf mem: " Ian Rogers
2023-05-24 22:18 ` Ian Rogers
2023-05-24 22:18 ` [PATCH v3 25/35] perf pmu: Remove perf_pmu__hybrid_pmus list Ian Rogers
2023-05-24 22:18 ` Ian Rogers
2023-05-24 22:18 ` [PATCH v3 26/35] perf pmus: Prefer perf_pmu__scan over perf_pmus__for_each_pmu Ian Rogers
2023-05-24 22:18 ` Ian Rogers
2023-05-24 22:18 ` [PATCH v3 27/35] perf x86 mem: minor refactor to is_mem_loads_aux_event Ian Rogers
2023-05-24 22:18 ` Ian Rogers
2023-05-24 22:18 ` [PATCH v3 28/35] perf pmu: Separate pmu and pmus Ian Rogers
2023-05-24 22:18 ` Ian Rogers
2023-05-24 22:18 ` [PATCH v3 29/35] perf pmus: Split pmus list into core and other Ian Rogers
2023-05-24 22:18 ` Ian Rogers
2023-05-24 22:18 ` [PATCH v3 30/35] perf pmus: Allow just core PMU scanning Ian Rogers
2023-05-24 22:18 ` Ian Rogers
2023-05-24 22:18 ` [PATCH v3 31/35] perf pmus: Avoid repeated sysfs scanning Ian Rogers
2023-05-24 22:18 ` Ian Rogers
2023-05-24 22:18 ` [PATCH v3 32/35] perf pmus: Ensure all PMUs are read for find_by_type Ian Rogers
2023-05-24 22:18 ` Ian Rogers
2023-05-24 22:18 ` [PATCH v3 33/35] perf pmus: Add function to return count of core PMUs Ian Rogers
2023-05-24 22:18 ` Ian Rogers
2023-05-24 22:18 ` [PATCH v3 34/35] perf pmus: Remove perf_pmus__has_hybrid Ian Rogers
2023-05-24 22:18 ` Ian Rogers
2023-05-24 22:18 ` [PATCH v3 35/35] perf pmu: Remove is_pmu_hybrid Ian Rogers
2023-05-24 22:18 ` Ian Rogers
[not found] ` <CA+JHD93cMBrcw0O6bwazzACsPr+HhVVGMKf8ZYLnCV0dEm1gmw@mail.gmail.com>
2023-05-24 22:33 ` [PATCH v3 00/35] PMU refactoring and improvements Ian Rogers
2023-05-24 22:33 ` Ian Rogers
2023-05-26 18:17 ` Liang, Kan [this message]
2023-05-26 18:17 ` Liang, Kan
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=ff66c90b-b59e-5720-dd88-f15311a74e50@linux.intel.com \
--to=kan.liang@linux.intel.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=irogers@google.com \
--cc=james.clark@arm.com \
--cc=john.g.garry@oracle.com \
--cc=jolsa@kernel.org \
--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 \
/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.