Home
last modified time | relevance | path

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

12

/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 …]
/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>
31 /* Non-VHE specific context */
52 ___activate_traps(vcpu, vcpu->arch.hcr_el2); in __activate_traps()
59 struct kvm_cpu_context *ctxt = &vcpu->arch.ctxt; in __activate_traps()
98 write_sysreg_hcr(this_cpu_ptr(&kvm_init_params)->hcr_el2); in __deactivate_traps()
104 /* Save VGICv3 state on non-VHE systems */
[all …]
/linux/tools/perf/tests/shell/
H A Dtest_arm_spe_fork.sh2 # Check Arm SPE doesn't hang when there are forks
4 # SPDX-License-Identifier: GPL-2.0
8 perf list pmu | grep -E -q 'arm_spe_[0-9]+//' && return 0
14 TEST_PROGRAM="perf test -w sqrtloop 10"
21 rm -f ${PERF_RECORD_LOG}
22 rm -f ${PERF_DATA}
28 perf record -o ${PERF_DATA} -e arm_spe/period=65536/ -vvv -- $TEST_PROGRAM > ${PERF_RECORD_LOG} 2>&…
31 # Check if perf hangs by checking the perf-record logs.
33 log0=$(wc -l $PERF_RECORD_LOG)
36 log1=$(wc -l $PERF_RECORD_LOG)
[all …]
H A Dtest_arm_spe.sh2 # Check Arm SPE trace data recording and synthesized samples (exclusive)
4 # Uses the 'perf record' to record trace data of Arm SPE events;
5 # then verify if any SPE event samples are generated by SPE with
8 # SPDX-License-Identifier: GPL-2.0
12 perf list pmu | grep -E -q 'arm_spe_[0-9]+//' && return 0
25 rm -f ${perfdata}
26 rm -f ${perfdata}.old
46 # from arm-spe.c/arm_spe_synth_events()
47 …events="(ld1-miss|ld1-access|llc-miss|lld-access|tlb-miss|tlb-access|branch-miss|remote-access|mem…
50 …# dd 3048 [002] 1 l1d-access: ffffaa64999c __GI___libc_write+0x3c (/lib/aarch64-
[all …]
/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"
15 #include "../../../util/pmu.h"
16 #include "../../../util/cs-etm.h"
17 #include "../../arm64/util/mem-events.h"
19 void perf_pmu__arch_init(struct perf_pmu *pmu) in perf_pmu__arch_init() argument
24 if (!strcmp(pmu->name, CORESIGHT_ETM_PMU_NAME)) { in perf_pmu__arch_init()
26 pmu->auxtrace = true; in perf_pmu__arch_init()
[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 …]
/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
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
97 #define to_spe_pmu(p) (container_of(p, struct arm_spe_pmu, pmu))
99 /* Convert a free-running index from perf into an SPE buffer offset */
100 #define PERF_IDX2OFF(idx, buf) ((idx) % ((buf)->nr_pages << PAGE_SHIFT))
128 return !!(spe_pmu->features & arm_spe_pmu_feat_caps[cap]); in arm_spe_pmu_cap_get()
132 return spe_pmu->counter_sz; in arm_spe_pmu_cap_get()
134 return spe_pmu->min_period; in arm_spe_pmu_cap_get()
[all …]
/linux/tools/perf/arch/arm64/util/
H A DBuild1 perf-util-y += header.o
2 perf-util-y += machine.o
3 perf-util-y += perf_regs.o
4 perf-util-y += tsc.o
5 perf-util-y += pmu.o
6 perf-util-$(CONFIG_LIBTRACEEVENT) += kvm-stat.o
7 perf-util-$(CONFIG_LOCAL_LIBUNWIND) += unwind-libunwind.o
8 perf-util-$(CONFIG_LIBDW_DWARF_UNWIND) += unwind-libdw.o
10 perf-util-$(CONFIG_AUXTRACE) += ../../arm/util/pmu.o \
12 ../../arm/util/cs-etm.o \
[all …]
/linux/tools/perf/util/
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"
90 struct arm_spe *spe; member
121 static void arm_spe_dump(struct arm_spe *spe __maybe_unused, in arm_spe_dump()
[all …]
H A Darm-spe.h1 /* SPDX-License-Identifier: GPL-2.0 */
3 * Arm Statistical Profiling Extensions (SPE) support
4 * Copyright (c) 2017-2018, Arm Ltd.
30 /* PMU type shared by CPUs */
46 /* Associated PMU type */
H A DBuild4 perf-util-y += arm64-frame-pointer-unwind-support.o
5 perf-util-y += addr_location.o
6 perf-util-y += annotate.o
7 perf-util-y += block-info.o
8 perf-util-y += block-range.o
9 perf-util-y += build-id.o
10 perf-util-y += cacheline.o
11 perf-util-y += config.o
12 perf-util-y += copyfile.o
13 perf-util-y += ctype.o
[all …]
/linux/tools/perf/Documentation/
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-mem.txt1 perf-mem(1)
5 ----
6 perf-mem - Profile memory accesses
9 --------
14 -----------
20 and stores are sampled. Use the -t option to limit to loads or stores.
22 Note that on Intel systems the memory latency reported is the use-latency,
26 On Arm64 this uses SPE to sample load and store operations, therefore hardware
27 and kernel support is required. See linkperf:perf-arm-spe[1] for a setup guide.
28 Due to the statistical nature of SPE sampling, not every memory operation will
[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 …]
/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 and Armv8.8 or less CPU PMU supports up to 32 event counters.
21 * The Armv8.9/9.4 CPU PMU supports up to 33 event counters.
29 * ARM PMU hw_event flags
44 [0 ... PERF_COUNT_HW_MAX - 1] = HW_OP_UNSUPPORTED
47 [0 ... C(MAX) - 1] = { \
48 [0 ... C(OP_MAX) - 1] = { \
49 [0 ... C(RESULT_MAX) - 1] = CACHE_OP_UNSUPPORTED, \
53 /* The events for a given PMU register set. */
[all …]
/linux/Documentation/trace/coresight/
H A Dcoresight-perf.rst1 .. SPDX-License-Identifier: GPL-2.0
4 CoreSight - Perf
15 perf record -e cs_etm//u testbinary
22 perf report --stdio --dump -i perf.data
26 …ERF_RECORD_AUXTRACE size: 0x11dd0 offset: 0 ref: 0x1b614fc1061b0ad1 idx: 0 tid: 531230 cpu: -1
48 for the support such as libopencsd and libopencsd-dev or download it
60 ------------------------
81 Fine-grained tracing with AUX pause and resume
82 ----------------------------------------------
87 provides AUX pause and resume functionality for fine-grained tracing.
[all …]
/linux/arch/arm64/boot/dts/arm/
H A Dmorello.dtsi1 // SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause)
3 * Copyright (c) 2020-2024, Arm Limited. All rights reserved.
6 #include <dt-bindings/interrupt-controller/arm-gic.h>
9 interrupt-parent = <&gic>;
11 #address-cells = <2>;
12 #size-cells = <2>;
14 soc_refclk50mhz: clock-50000000 {
15 compatible = "fixed-clock";
16 #clock-cells = <0>;
17 clock-frequency = <50000000>;
[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 …]
/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 …]
/linux/drivers/dma/
H A DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
80 depends on 440SPe || 440SP
96 tristate "Arm DMA-350 support"
101 Enable support for the Arm DMA-350 controller.
119 tristate "Analog Devices AXI-DMAC DMA support"
125 Enable support for the Analog Devices AXI-DMAC peripheral. This DMA
161 tristate "SA-11x0 DMA support"
166 Support the DMA engine found on Intel StrongARM SA-1100 and
167 SA-1110 SoCs. This DMA engine can only be used with on-chip
227 This module can be found on Freescale Vybrid and LS-1 SoCs.
[all …]
/linux/arch/powerpc/kernel/
H A Dtraps.c1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * Copyright (C) 1995-1996 Gary Thomas (gdt@linuxppc.org)
4 * Copyright 2007-2010 Freescale Semiconductor, Inc.
11 * This file handles the architecture-dependent parts of hardware exceptions
58 #include <asm/ppc-opcode.h>
64 #include <asm/asm-prototypes.h>
122 props = &pmac_backlight->props; in pmac_backlight_unblank()
123 props->brightness = props->max_brightness; in pmac_backlight_unblank()
124 props->power = BACKLIGHT_POWER_ON; in pmac_backlight_unblank()
149 !current->pid || is_global_init(current)) in die_will_crash()
[all …]
H A Dprocess.c1 // SPDX-License-Identifier: GPL-2.0-or-later
10 * Copyright (C) 1995-1996 Gary Thomas (gdt@linuxppc.org)
57 #include <asm/text-patching.h>
61 #include <asm/asm-prototypes.h>
91 if (tsk == current && tsk->thread.regs && in check_if_tm_restore_required()
92 MSR_TM_ACTIVE(tsk->thread.regs->msr) && in check_if_tm_restore_required()
94 regs_set_return_msr(&tsk->thread.ckpt_regs, in check_if_tm_restore_required()
95 tsk->thread.regs->msr); in check_if_tm_restore_required()
156 msr = tsk->thread.regs->msr; in __giveup_fpu()
160 regs_set_return_msr(tsk->thread.regs, msr); in __giveup_fpu()
[all …]
/linux/arch/arm64/kvm/
H A Dsys_regs.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * Copyright (C) 2012,2013 - ARM Ltd
7 * Copyright (C) 2012 - Virtual Open Systems and Columbia University
20 #include <linux/irqchip/arm-gic-v3.h>
25 #include <asm/debug-monitors.h>
74 "sys_reg read to write-only register"); in read_from_write_only()
82 "sys_reg write to read-only register"); in write_to_read_only()
188 * If we have a non-VHE guest and that the sysreg in vcpu_read_sys_reg()
190 * in-memory copy instead. in vcpu_read_sys_reg()
228 * to reverse-translate virtual EL2 system registers for a in vcpu_write_sys_reg()
[all …]

12