| /kernel/linux/linux-5.10/tools/perf/Documentation/ |
| D | perf-list.txt | 128 ARBITRARY PMUS 132 to PMUs. Using this typically requires looking up the specific event 135 The available PMUs and their raw parameters can be listed with 148 PER SOCKET PMUS 151 Some PMUs are not associated with a core, but with a whole CPU socket. 152 Events on these PMUs generally cannot be sampled, but only counted globally 162 bandwidth would require specifying all imc PMUs (see perf list output), 182 Other PMUs and global measurements are normally root only. 195 Some PMUs control advanced hardware tracing capabilities, such as Intel PT, 253 Events from multiple different PMUs cannot be mixed in a group, with
|
| /kernel/linux/linux-6.6/tools/perf/Documentation/ |
| D | perf-list.txt | 174 ARBITRARY PMUS 178 to PMUs. Using this typically requires looking up the specific event 181 The available PMUs and their raw parameters can be listed with 194 PER SOCKET PMUS 197 Some PMUs are not associated with a core, but with a whole CPU socket. 198 Events on these PMUs generally cannot be sampled, but only counted globally 208 bandwidth would require specifying all imc PMUs (see perf list output), 228 Other PMUs and global measurements are normally root only. 241 Some PMUs control advanced hardware tracing capabilities, such as Intel PT, 299 Events from multiple different PMUs cannot be mixed in a group, with
|
| /kernel/linux/linux-6.6/tools/perf/util/ |
| D | pmus.c | 15 #include "pmus.h" 21 * directory contains "cpus" file. All PMUs belonging to core_pmus 27 * other_pmus: All other PMUs which are not part of core_pmus list. It doesn't 30 * ibs_op// PMUs is present in each hw SMT thread, however they 31 * are captured under other_pmus. PMUs belonging to other_pmus 45 /* Non-uncore PMUs have their full length, for example, i915. */ in pmu_name_len_no_suffix() 172 /* Add all pmus in sysfs to pmu list: */ 204 pr_err("Failure to set up any core PMUs\n"); in pmu_read_sysfs() 328 /* Ignore "cpu_" prefix on Intel hybrid PMUs. */ in perf_pmus__pmu_for_pmu_filter() 339 /* All core PMUs are for mem events. */ in perf_pmus__num_mem_pmus() [all …]
|
| /kernel/linux/linux-6.6/tools/perf/pmu-events/ |
| D | jevents.py | 473 pmus = set() 483 pmus.add((event.pmu, pmu_name)) 493 for (pmu, tbl_pmu) in sorted(pmus): 528 pmus = set() 538 pmus.add((metric.pmu, pmu_name)) 548 for (pmu, tbl_pmu) in sorted(pmus): 639 const struct pmu_table_entry *pmus; 645 const struct pmu_table_entry *pmus; 676 \t\t.pmus = pmu_events__test_soc_cpu, 680 \t\t.pmus = pmu_metrics__test_soc_cpu, [all …]
|
| D | empty-pmu-events.c | 334 * PMUs other than CORE PMUs. in perf_pmu__find_events_table() 362 * PMUs other than CORE PMUs. in perf_pmu__find_metrics_table()
|
| /kernel/linux/linux-5.10/arch/x86/events/intel/ |
| D | uncore.c | 894 struct intel_uncore_pmu *pmu = type->pmus; in uncore_type_exit() 905 kfree(type->pmus); in uncore_type_exit() 906 type->pmus = NULL; in uncore_type_exit() 920 struct intel_uncore_pmu *pmus; in uncore_type_init() local 924 pmus = kcalloc(type->num_boxes, sizeof(*pmus), GFP_KERNEL); in uncore_type_init() 925 if (!pmus) in uncore_type_init() 931 pmus[i].func_id = setid ? i : -1; in uncore_type_init() 932 pmus[i].pmu_idx = i; in uncore_type_init() 933 pmus[i].type = type; in uncore_type_init() 934 pmus[i].boxes = kzalloc(size, GFP_KERNEL); in uncore_type_init() [all …]
|
| /kernel/linux/linux-6.6/tools/perf/arch/arm/util/ |
| D | auxtrace.c | 17 #include "../../../util/pmus.h" 102 static struct perf_pmu *find_pmu_for_event(struct perf_pmu **pmus, in find_pmu_for_event() argument 107 if (!pmus) in find_pmu_for_event() 111 if (evsel->core.attr.type == pmus[i]->type) in find_pmu_for_event() 112 return pmus[i]; in find_pmu_for_event()
|
| /kernel/linux/linux-6.6/arch/x86/events/intel/ |
| D | uncore.c | 958 struct intel_uncore_pmu *pmu = type->pmus; in uncore_type_exit() 969 kfree(type->pmus); in uncore_type_exit() 970 type->pmus = NULL; in uncore_type_exit() 988 struct intel_uncore_pmu *pmus; in uncore_type_init() local 992 pmus = kcalloc(type->num_boxes, sizeof(*pmus), GFP_KERNEL); in uncore_type_init() 993 if (!pmus) in uncore_type_init() 999 pmus[i].func_id = setid ? i : -1; in uncore_type_init() 1000 pmus[i].pmu_idx = i; in uncore_type_init() 1001 pmus[i].type = type; in uncore_type_init() 1002 pmus[i].boxes = kzalloc(size, GFP_KERNEL); in uncore_type_init() [all …]
|
| /kernel/linux/linux-6.6/Documentation/admin-guide/perf/ |
| D | qcom_l3_pmu.rst | 5 This driver supports the L3 cache PMUs found in Qualcomm Datacenter Technologies 12 options in sysfs, see /sys/devices/l3cache*. Given that these are uncore PMUs 25 Given that these are uncore PMUs the driver does not support sampling, therefore
|
| D | thunderx2-pmu.rst | 6 PMUs such as the Level 3 Cache (L3C), DDR4 Memory Controller (DMC) and 21 The thunderx2_pmu driver registers per-socket perf PMUs for the DMC and 23 (CCPI2) events simultaneously. The PMUs provide a description of their
|
| D | xgene-pmu.rst | 5 X-Gene SoC PMU consists of various independent system device PMUs such as 8 same model as the PMU for ARM cores. The PMUs share the same top level
|
| D | alibaba_pmu.rst | 15 implements separate PMUs for each sub-channel to monitor various performance 50 to and from the SDRAM. The driveway PMUs have hardware logic to gather
|
| /kernel/linux/linux-5.10/Documentation/admin-guide/perf/ |
| D | qcom_l3_pmu.rst | 5 This driver supports the L3 cache PMUs found in Qualcomm Datacenter Technologies 12 options in sysfs, see /sys/devices/l3cache*. Given that these are uncore PMUs 25 Given that these are uncore PMUs the driver does not support sampling, therefore
|
| D | thunderx2-pmu.rst | 6 PMUs such as the Level 3 Cache (L3C), DDR4 Memory Controller (DMC) and 21 The thunderx2_pmu driver registers per-socket perf PMUs for the DMC and 23 (CCPI2) events simultaneously. The PMUs provide a description of their
|
| D | xgene-pmu.rst | 5 X-Gene SoC PMU consists of various independent system device PMUs such as 8 same model as the PMU for ARM cores. The PMUs share the same top level
|
| D | hisi-pmu.rst | 5 The HiSilicon SoC chip includes various independent system device PMUs 6 such as L3 cache (L3C), Hydra Home Agent (HHA) and DDRC. These PMUs are
|
| /kernel/linux/linux-6.6/tools/lib/perf/include/internal/ |
| D | evsel.h | 47 * The cpu map read from the PMU. For core PMUs this is the list of all 48 * CPUs the event can be opened upon. For other PMUs this is the default
|
| /kernel/linux/linux-5.10/arch/arm/oprofile/ |
| D | common.c | 28 * OProfile has a curious naming scheme for the ARM PMUs, but they are 30 * supported PMUs.
|
| /kernel/linux/linux-6.6/arch/x86/kvm/ |
| D | pmu.h | 169 * Hybrid PMUs don't play nice with virtualization without careful in kvm_init_pmu_capability() 171 * vPMU features do not account for hybrid PMUs. Disable vPMU support in kvm_init_pmu_capability() 172 * for hybrid PMUs until KVM gains a way to let userspace opt-in. in kvm_init_pmu_capability()
|
| /kernel/linux/linux-5.10/tools/perf/util/ |
| D | pmu.c | 41 static LIST_HEAD(pmus); 554 /* Add all pmus in sysfs to pmu list: */ 575 /* add to static LIST_HEAD(pmus): */ in pmu_read_sysfs() 597 * Uncore PMUs have a "cpumask" file under sysfs. CPU PMUs (e.g. on arm/arm64) 684 * PMUs other than CORE PMUs. in perf_pmu__find_map() 858 list_add_tail(&pmu->list, &pmus); in pmu_lookup() 886 list_for_each_entry(pmu, &pmus, list) in pmu_find() 897 list_for_each_entry(pmu, &pmus, list) in perf_pmu__find_by_type() 912 pmu = list_prepare_entry(pmu, &pmus, list); in perf_pmu__scan() 914 list_for_each_entry_continue(pmu, &pmus, list) in perf_pmu__scan()
|
| /kernel/linux/linux-5.10/arch/powerpc/include/asm/ |
| D | imc-pmu.h | 110 * registers new IMC pmus. This structure will hold the 159 * Domains for IMC PMUs
|
| /kernel/linux/linux-6.6/arch/powerpc/include/asm/ |
| D | imc-pmu.h | 110 * registers new IMC pmus. This structure will hold the 159 * Domains for IMC PMUs
|
| /kernel/linux/linux-6.6/tools/perf/arch/x86/util/ |
| D | pmu.c | 17 #include "../../../util/pmus.h" 180 /* Intel uses core pmus for perf mem/c2c */ in perf_pmus__num_mem_pmus()
|
| /kernel/linux/linux-6.6/tools/perf/tests/ |
| D | event_groups.c | 9 #include "pmus.h" 19 /* Uncore pmus that support more than 3 counters */
|
| /kernel/linux/linux-6.6/drivers/perf/ |
| D | qcom_l2_pmu.c | 107 * the hardware PMUs. 123 * This structure represents one of the hardware PMUs. 424 * physical PMUs (per cluster), because we do not support per-task mode in l2_cache_pmu_enable() 471 /* Don't allow groups with mixed PMUs, except for s/w events */ in l2_cache_event_init() 940 dev_err(&pdev->dev, "No hardware L2 cache PMUs found\n"); in l2_cache_pmu_probe() 957 dev_info(&pdev->dev, "Registered L2 cache PMU using %d HW PMUs\n", in l2_cache_pmu_probe()
|