Home
last modified time | relevance | path

Searched +full:spe +full:- +full:pmu (Results 1 – 25 of 44) sorted by relevance

12

/openbmc/linux/Documentation/devicetree/bindings/perf/
H A Dspe-pmu.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/perf/spe-pmu.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: ARMv8.2 Statistical Profiling Extension (SPE) Performance Monitor Units (PMU)
10 - Will Deacon <will@kernel.org>
14 performance sample data using an in-memory trace buffer.
18 const: arm,statistical-profiling-extension-v1
23 The PPI to signal SPE events. For heterogeneous systems where SPE is only
24 supported on a subset of the CPUs, please consult the arm,gic-v3 binding
[all …]
/openbmc/linux/tools/perf/Documentation/
H A Dperf-arm-spe.txt1 perf-arm-spe(1)
5 ----
6 perf-arm-spe - Support for Arm Statistical Profiling Extension within Perf tools
9 --------
11 'perf record' -e arm_spe//
14 -----------
16 The SPE (Statistical Profiling Extension) feature provides accurate attribution of latencies and
17 events down to individual instructions. Rather than being interrupt-driven, it picks an
32 This is chosen from a sample population, for SPE this is an IMPLEMENTATION DEFINED choice of all
33 architectural instructions or all micro-ops. Sampling happens at a programmable interval. The
[all …]
H A Dperf-c2c.txt1 perf-c2c(1)
5 ----
6 perf-c2c - Shared Data C2C/HITM Analyzer.
9 --------
12 'perf c2c record' [<options>] \-- [<record command options>] <command>
16 -----------
24 with thresholding feature. On AMD, the tool uses IBS op pmu (due to hardware
25 limitations, perf c2c is not supported on Zen3 cpus). On Arm64 it uses SPE to
27 required. See linkperf:perf-arm-spe[1] for a setup guide. Due to the
28 statistical nature of Arm SPE sampling, not every memory operation will be
[all …]
H A Dperf.txt5 ----
6 perf - Performance analysis tools for Linux
9 --------
11 'perf' [--version] [--help] [OPTIONS] COMMAND [ARGS]
14 -------
15 -h::
16 --help::
19 -v::
20 --version::
23 -vv::
[all …]
H A Dperf-record.txt1 perf-record(1)
5 ----
6 perf-record - Run a command and record its profile into perf.data
9 --------
11 'perf record' [-e <EVENT> | --event=EVENT] [-a] <command>
12 'perf record' [-e <EVENT> | --event=EVENT] [-a] \-- <command> [<options>]
15 -----------
17 from it, into perf.data - without displaying anything.
23 -------
27 -e::
[all …]
/openbmc/linux/tools/perf/arch/arm/util/
H A Dpmu.c1 // SPDX-License-Identifier: GPL-2.0
8 #include <linux/coresight-pmu.h>
12 #include "arm-spe.h"
13 #include "hisi-ptt.h"
14 #include "../../../util/pmu.h"
15 #include "../../../util/cs-etm.h"
18 *perf_pmu__get_default_config(struct perf_pmu *pmu __maybe_unused) in perf_pmu__get_default_config()
21 if (!strcmp(pmu->name, CORESIGHT_ETM_PMU_NAME)) { in perf_pmu__get_default_config()
23 pmu->selectable = true; in perf_pmu__get_default_config()
24 return cs_etm_get_default_config(pmu); in perf_pmu__get_default_config()
[all …]
H A Dauxtrace.c1 // SPDX-License-Identifier: GPL-2.0
9 #include <linux/coresight-pmu.h>
16 #include "../../../util/pmu.h"
18 #include "cs-etm.h"
19 #include "arm-spe.h"
20 #include "hisi-ptt.h"
32 *err = -ENOMEM; in find_all_arm_spe_pmus()
40 *err = -ENOMEM; in find_all_arm_spe_pmus()
48 arm_spe_pmus[*nr_spes]->type, in find_all_arm_spe_pmus()
49 arm_spe_pmus[*nr_spes]->name); in find_all_arm_spe_pmus()
[all …]
/openbmc/linux/arch/arm64/kvm/hyp/nvhe/
H A Dswitch.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * Copyright (C) 2015 - ARM Ltd
8 #include <hyp/sysreg-sr.h>
10 #include <linux/arm-smccc.h>
26 #include <asm/debug-monitors.h>
32 /* Non-VHE specific context */
46 val = vcpu->arch.cptr_el2; in __activate_traps()
70 struct kvm_cpu_context *ctxt = &vcpu->arch.ctxt; in __activate_traps()
109 write_sysreg(this_cpu_ptr(&kvm_init_params)->hcr_el2, hcr_el2); in __deactivate_traps()
115 /* Save VGICv3 state on non-VHE systems */
[all …]
H A Dpkvm.c1 // SPDX-License-Identifier: GPL-2.0-only
39 * Linux guests assume support for floating-point and Advanced SIMD. Do in pvm_init_traps_aa64pfr0()
71 vcpu->arch.hcr_el2 |= hcr_set; in pvm_init_traps_aa64pfr0()
72 vcpu->arch.hcr_el2 &= ~hcr_clear; in pvm_init_traps_aa64pfr0()
73 vcpu->arch.cptr_el2 |= cptr_set; in pvm_init_traps_aa64pfr0()
74 vcpu->arch.cptr_el2 &= ~cptr_clear; in pvm_init_traps_aa64pfr0()
92 vcpu->arch.hcr_el2 |= hcr_set; in pvm_init_traps_aa64pfr1()
93 vcpu->arch.hcr_el2 &= ~hcr_clear; in pvm_init_traps_aa64pfr1()
106 /* Trap/constrain PMU */ in pvm_init_traps_aa64dfr0()
121 /* Trap SPE */ in pvm_init_traps_aa64dfr0()
[all …]
/openbmc/linux/drivers/perf/
H A Darm_pmu_acpi.c1 // SPDX-License-Identifier: GPL-2.0-only
29 gsi = gicc->performance_interrupt; in arm_pmu_acpi_register_irq()
32 * Per the ACPI spec, the MADT cannot describe a PMU that doesn't in arm_pmu_acpi_register_irq()
41 if (gicc->flags & ACPI_MADT_PERFORMANCE_IRQ_MODE) in arm_pmu_acpi_register_irq()
67 gsi = gicc->performance_interrupt; in arm_pmu_acpi_unregister_irq()
83 if (pdev->num_resources != 1) in arm_acpi_register_pmu_device()
84 return -ENXIO; in arm_acpi_register_pmu_device()
86 if (pdev->resource[0].flags != IORESOURCE_IRQ) in arm_acpi_register_pmu_device()
87 return -ENXIO; in arm_acpi_register_pmu_device()
97 if (gicc->header.length < len) in arm_acpi_register_pmu_device()
[all …]
H A Darm_spe_pmu.c1 // SPDX-License-Identifier: GPL-2.0-only
53 if (IS_ENABLED(CONFIG_PID_IN_CONTEXTIDR) && !perf_allow_kernel(&event->attr)) in set_spe_event_has_cx()
54 event->hw.flags |= SPE_PMU_HW_FLAGS_CX; in set_spe_event_has_cx()
59 return !!(event->hw.flags & SPE_PMU_HW_FLAGS_CX); in get_spe_event_has_cx()
71 struct pmu pmu; member
96 #define to_spe_pmu(p) (container_of(p, struct arm_spe_pmu, pmu))
98 /* Convert a free-running index from perf into an SPE buffer offset */
99 #define PERF_IDX2OFF(idx, buf) ((idx) % ((buf)->nr_pages << PAGE_SHIFT))
127 return !!(spe_pmu->features & arm_spe_pmu_feat_caps[cap]); in arm_spe_pmu_cap_get()
131 return spe_pmu->counter_sz; in arm_spe_pmu_cap_get()
[all …]
/openbmc/linux/tools/perf/arch/arm64/util/
H A DBuild1 perf-y += header.o
2 perf-y += machine.o
3 perf-y += perf_regs.o
4 perf-y += tsc.o
5 perf-y += pmu.o
6 perf-$(CONFIG_LIBTRACEEVENT) += kvm-stat.o
7 perf-$(CONFIG_DWARF) += dwarf-regs.o
8 perf-$(CONFIG_LOCAL_LIBUNWIND) += unwind-libunwind.o
9 perf-$(CONFIG_LIBDW_DWARF_UNWIND) += unwind-libdw.o
11 perf-$(CONFIG_AUXTRACE) += ../../arm/util/pmu.o \
[all …]
H A Darm-spe.c1 // SPDX-License-Identifier: GPL-2.0
3 * Arm Statistical Profiling Extensions (SPE) support
4 * Copyright (c) 2017-2018, Arm Ltd.
21 #include "../../../util/pmu.h"
25 #include "../../../util/arm-spe.h"
53 struct perf_pmu *arm_spe_pmu = sper->arm_spe_pmu; in arm_spe_info_fill()
56 return -EINVAL; in arm_spe_info_fill()
58 if (!session->evlist->core.nr_mmaps) in arm_spe_info_fill()
59 return -EINVAL; in arm_spe_info_fill()
61 auxtrace_info->type = PERF_AUXTRACE_ARM_SPE; in arm_spe_info_fill()
[all …]
/openbmc/linux/arch/powerpc/platforms/
H A DKconfig.cputype1 # SPDX-License-Identifier: GPL-2.0
7 bool "64-bit kernel"
10 This option selects whether a 32-bit or a 64-bit kernel
282 default "-mtune=power10" if $(cc-option,-mtune=power10)
283 default "-mtune=power9" if $(cc-option,-mtune=power9)
284 default "-mtune=power8" if $(cc-option,-mtune=power8)
366 This option enables kernel support for larger than 32-bit physical
371 is platform-dependent.
387 any affect on a non-altivec cpu (it does, however add code to the
403 VSX (P7 and above), but does not have any affect on a non-VSX
[all …]
/openbmc/linux/tools/perf/util/
H A DBuild4 perf-y += arm64-frame-pointer-unwind-support.o
5 perf-y += addr_location.o
6 perf-y += annotate.o
7 perf-y += block-info.o
8 perf-y += block-range.o
9 perf-y += build-id.o
10 perf-y += cacheline.o
11 perf-y += config.o
12 perf-y += copyfile.o
13 perf-y += ctype.o
[all …]
H A Darm-spe.c1 // SPDX-License-Identifier: GPL-2.0
3 * Arm Statistical Profiling Extensions (SPE) support
4 * Copyright (c) 2017-2018, Arm Ltd.
28 #include "thread-stack.h"
31 #include "util/synthetic-events.h"
33 #include "arm-spe.h"
34 #include "arm-spe-decoder/arm-spe-decoder.h"
35 #include "arm-spe-decoder/arm-spe-pkt-decoder.h"
84 struct arm_spe *spe; member
101 static void arm_spe_dump(struct arm_spe *spe __maybe_unused, in arm_spe_dump()
[all …]
H A Dauxtrace.h1 /* SPDX-License-Identifier: GPL-2.0-only */
4 * Copyright (c) 2013-2015, Intel Corporation.
60 #define AUXTRACE_ERR_FLG_OVERFLOW (1 << ('o' - 'a'))
61 #define AUXTRACE_ERR_FLG_DATA_LOST (1 << ('l' - 'a'))
63 #define AUXTRACE_LOG_FLG_ALL_PERF_EVTS (1 << ('a' - 'a'))
64 #define AUXTRACE_LOG_FLG_ON_ERROR (1 << ('e' - 'a'))
65 #define AUXTRACE_LOG_FLG_USE_STDOUT (1 << ('o' - 'a'))
68 * struct itrace_synth_opts - AUX area tracing synthesis options.
78 * (branch misses only for Arm SPE)
103 * @vm_tm_corr_dry_run: VM Time Correlation dry-run
[all …]
/openbmc/linux/include/linux/perf/
H A Darm_pmu.h1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * linux/arch/arm/include/asm/pmu.h
20 * The ARMv7 CPU PMU supports up to 32 event counters.
25 * ARM PMU hw_event flags
40 [0 ... PERF_COUNT_HW_MAX - 1] = HW_OP_UNSUPPORTED
43 [0 ... C(MAX) - 1] = { \
44 [0 ... C(OP_MAX) - 1] = { \
45 [0 ... C(RESULT_MAX) - 1] = CACHE_OP_UNSUPPORTED, \
49 /* The events for a given PMU register set. */
52 * The events that are active on the PMU for the given index.
[all …]
/openbmc/linux/arch/powerpc/include/asm/
H A Dcell-regs.h1 /* SPDX-License-Identifier: GPL-2.0 */
6 * on-chip system devices (memory controller, IO controller, etc...)
19 #include <asm/cell-pmu.h>
43 u8 spe[8]; member
50 u32 spe; member
61 u8 pad_0x0010_0x00a8 [0x00a8 - 0x0010]; /* 0x0010 */
65 u8 pad_0x00b0_0x0100 [0x0100 - 0x00b0]; /* 0x00b0 */
73 u8 pad_0x0128_0x0400 [0x0400 - 0x0128]; /* 0x0128 */
83 u8 pad_0x0480_0x0800 [0x0800 - 0x0480]; /* 0x0480 */
111 u8 pad_0x0898_0x0c00 [0x0c00 - 0x0898]; /* 0x0898 */
[all …]
/openbmc/linux/arch/arm64/include/asm/
H A Del2_setup.h1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * Copyright (C) 2012,2013 - ARM Ltd
11 #error Assembly-only header
17 #include <linux/irqchip/arm-gic-v3.h>
42 * Allow Non-secure EL1 and EL0 to access physical timer and counter.
64 b.lt .Lskip_pmu_\@ // Skip if no PMU present
68 csel x2, xzr, x0, lt // all PMU counters from EL1
72 cbz x0, .Lskip_spe_\@ // Skip if SPE not present
74 mrs_s x0, SYS_PMBIDR_EL1 // If SPE available at EL2,
111 /* Stage-2 translation */
/openbmc/linux/arch/arm64/boot/dts/arm/
H A Dfoundation-v8.dtsi1 // SPDX-License-Identifier: GPL-2.0
8 /dts-v1/;
10 #include <dt-bindings/interrupt-controller/arm-gic.h>
15 model = "Foundation-v8A";
16 compatible = "arm,foundation-aarch64", "arm,vexpress";
17 interrupt-parent = <&gic>;
18 #address-cells = <2>;
19 #size-cells = <2>;
31 #address-cells = <2>;
32 #size-cells = <0>;
[all …]
H A Dfvp-base-revc.dts1 // SPDX-License-Identifier: GPL-2.0
5 * Architecture Envelope Model (AEM) ARMv8-A
11 /dts-v1/;
13 #include <dt-bindings/interrupt-controller/arm-gic.h>
17 #include "rtsm_ve-motherboard.dtsi"
18 #include "rtsm_ve-motherboard-rs2.dtsi"
22 compatible = "arm,fvp-base-revc", "arm,vexpress";
23 interrupt-parent = <&gic>;
24 #address-cells = <2>;
25 #size-cells = <2>;
[all …]
/openbmc/qemu/target/ppc/
H A Dcpu.h4 * Copyright (c) 2003-2007 Jocelyn Mayer
24 #include "qemu/cpu-float.h"
25 #include "exec/cpu-defs.h"
26 #include "cpu-qom.h"
41 #define PPC_BIT_NR(bit) (63 - (bit))
43 #define PPC_BIT32_NR(bit) (31 - (bit))
46 #define PPC_BITMASK(bs, be) ((PPC_BIT(bs) - PPC_BIT(be)) | PPC_BIT(bs))
47 #define PPC_BITMASK32(bs, be) ((PPC_BIT32(bs) - PPC_BIT32(be)) | \
49 #define PPC_BITMASK8(bs, be) ((PPC_BIT8(bs) - PPC_BIT8(be)) | PPC_BIT8(bs))
58 #define MASK_TO_LSH(m) (__builtin_ffsll(m) - 1)
[all …]
/openbmc/linux/drivers/ps3/
H A Dps3-lpm.c1 // SPDX-License-Identifier: GPL-2.0-only
18 #include <asm/cell-pmu.h>
66 * struct ps3_lpm_shadow_regs - Performance monitor shadow registers.
73 * The logical performance monitor provides a write-only interface to
91 * struct ps3_lpm_priv - Private lpm device data.
137 * lpm_priv - Static instance of the lpm data.
148 BUG_ON(!lpm_priv || !lpm_priv->sbd); in sbd_core()
149 return &lpm_priv->sbd->core; in sbd_core()
153 * use_start_stop_bookmark - Enable the PPU bookmark trace.
192 * ps3_read_phys_ctr - Read physical counter registers.
[all …]
/openbmc/openbmc/meta-raspberrypi/dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/files/
H A D0004-mmal_20.patch1 Upstream-Status: Inappropriate
3 RPI-Distro repo forks original vlc and applies patches
6 --- a/configure.ac
8 @@ -3478,6 +3478,9 @@ dnl
10 AS_HELP_STRING([--enable-mmal],
11 [Multi-Media Abstraction Layer (MMAL) hardware plugin (default enable)]))
13 + AS_HELP_STRING([--enable-mmal-avcodec],
17 LDFLAGS="${LDFLAGS} -L/opt/vc/lib -lvchostif"
18 @@ -3488,7 +3491,7 @@ if test "${enable_mmal}" != "no"; then
20 VLC_ADD_LDFLAGS([mmal],[ -L/opt/vc/lib ])
[all …]

12