| /linux/Documentation/arch/powerpc/ |
| H A D | imc.rst | 62 # perf list 77 # ./perf stat -e "nest_mcs01/PM_MCS01_64B_WR_DISP_PORT01/" -a --per-socket 83 # ./perf stat -e "core_imc/CPM_NON_IDLE_INST/" -C 0 -I 1000 89 # ./perf stat -e "thread_imc/CPM_NON_IDLE_PCYC/" make 159 # perf list 167 # perf record -e trace_imc/trace_cycles/ yes > /dev/null 168 [ perf record: Woken up 1 times to write data ] 169 [ perf record: Captured and wrote 0.012 MB perf.data (21 samples) ] 171 The `perf.data` generated, can be read using perf report. 181 Performance data using `perf top` with and without trace-imc event. [all …]
|
| /linux/tools/perf/tests/shell/ |
| H A D | trace_btf_general.sh | 2 # perf trace BTF general tests 29 echo "Testing perf trace's string augmentation" 30 output="$(perf trace --sort-events -e renameat* --max-events=1 -- mv ${file1} ${file2} 2>&1)" 39 echo "Testing perf trace's buffer augmentation" 41 output="$(perf trace --sort-events -e write --max-events=1 -- echo "${buffer}" 2>&1)" 50 echo "Testing perf trace's struct augmentation" 51 output="$(perf trace --sort-events -e clock_nanosleep --force-btf --max-events=1 -- sleep 1 2>&1)" 69 # don't overwrite user's perf config 72 perf config trace.show_arg_names=false trace.show_duration=false \
|
| H A D | test_data_symbol.sh | 13 perf mem record -e list 2>&1 | grep -E -q 'available' && return 0 21 TEST_PROGRAM="perf test -w datasym" 22 PERF_DATA=$(mktemp /tmp/__perf_test.perf.data.XXXXX) 28 result=$(perf mem report -i ${PERF_DATA} -s symbol_daddr -q 2>&1 | 59 mem_events="$(perf mem record -v -e list 2>&1)" 75 mem_events="$(perf mem record -v --ldlat=150 -e list 2>&1)" 82 # perf mem/c2c internally uses IBS PMU on AMD CPU which doesn't 85 perf mem record -vvv -o ${PERF_DATA} -C 0 -- taskset -c 0 $TEST_PROGRAM 2>"${ERR_FILE}" 87 perf mem record -vvv --all-user -o ${PERF_DATA} -- $TEST_PROGRAM 2>"${ERR_FILE}"
|
| H A D | test_arm_coresight_disasm.sh | 7 # that decoding has gone wrong either in OpenCSD, Perf or in the range reconstruction in 11 perf list pmu | grep -q 'cs_etm//' && return 0 23 perfdata_dir=$(mktemp -d /tmp/__perf_test.perf.data.XXXXX) 24 perfdata=${perfdata_dir}/perf.data 47 perf record -o ${perfdata} -e cs_etm//k --kcore -- touch $file > /dev/null 2>&1 48 perf script -i ${perfdata} -s python:${script_path} -- \ 59 perf record -o ${perfdata} -e cs_etm//u -- touch $file > /dev/null 2>&1 60 perf script -i ${perfdata} -s python:${script_path} -- \
|
| H A D | jitdump-python.sh | 19 PERF_DATA=$(mktemp /tmp/__perf_test.perf.data.XXXXXX) 37 cat <<EOF | perf record -k 1 -g --call-graph dwarf -o "${PERF_DATA}" \ 56 _PID=$(perf report -i "${PERF_DATA}" -F pid -q -g none | cut -d: -f1 -s) 59 echo "Generate JIT-ed DSOs using perf inject" 60 DEBUGINFOD_URLS='' perf inject -i "${PERF_DATA}" -j -o "${PERF_DATA}.jit" 64 perf buildid-cache -a "${F}" 68 NUM=$(perf report -i "${PERF_DATA}.jit" -s sym | grep -cE 'py::(foo|bar|baz):<stdin>') 74 perf buildid-cache -r "${F}"
|
| H A D | stat+event_uniquifying.sh | 2 # perf stat events uniquifying 26 # Read events from perf list with and without -v. With -v the duplicate PMUs 27 # aren't deduplicated. Note, json events are listed by perf list without a 29 read -ra pmu_events <<< "$(perf list --raw pmu)" 30 read -ra pmu_v_events <<< "$(perf list -v --raw pmu)" 45 if ! perf stat -e "$event" -A -o ${stat_output} -- true; then 46 echo "Error running perf stat for event '$event' [Skip]"
|
| H A D | stat_all_metrics.sh | 2 # perf all metrics test 15 test_prog="perf test -w noploop" 19 for m in $(perf list --raw-dump metrics); do 21 result=$(perf stat -M "$m" $system_wide_flag -- $test_prog 2>&1) 30 if [[ $(perf list --raw-dump $m) == "Default"* ]] 61 if [[ $(perf list --raw-dump $m) == "Default"* ]] 104 result=$(perf stat -M "$m" $system_wide_flag -- perf bench internals synthesize 2>&1)
|
| H A D | stat_bpf_counters.sh | 2 # perf stat --bpf-counters test (exclusive) 7 workload="perf test -w sqrtloop" 44 …base_instructions=$(perf stat --no-big-num -e instructions -- $workload 2>&1 | awk '/instructions/… 45 …bpf_instructions=$(perf stat --no-big-num --bpf-counters -e instructions -- $workload 2>&1 | awk … 54 …stat_output=$(perf stat --no-big-num -e instructions/name=base_instructions/,instructions/name=bpf… 63 if ! perf stat -e instructions --bpf-counters true > /dev/null 2>&1; then 66 perf --no-pager stat -e instructions --bpf-counters true || true
|
| H A D | test_arm_spe_fork.sh | 8 perf list pmu | grep -E -q 'arm_spe_[0-9]+//' && return 0 14 TEST_PROGRAM="perf test -w sqrtloop 10" 15 PERF_DATA=$(mktemp /tmp/__perf_test.perf.data.XXXXX) 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.
|
| H A D | stat_all_pfm.sh | 2 # perf all libpfm4 events test 5 if perf version --build-options | grep HAVE_LIBPFM | grep -q OFF 12 for p in $(perf list --raw-dump pfm) 20 result=$(perf stat --pfm-events "$p" true 2>&1) 35 result=$(perf stat --pfm-events "$p" perf bench internals synthesize 2>&1)
|
| /linux/tools/perf/Documentation/ |
| H A D | perf-record.txt | 1 perf-record(1) 6 perf-record - Run a command and record its profile into perf.data 11 'perf record' [-e <EVENT> | --event=EVENT] [-a] <command> 12 'perf record' [-e <EVENT> | --event=EVENT] [-a] \-- <command> [<options>] 17 from it, into perf.data - without displaying anything. 19 This file can then be inspected later on, using 'perf report'. 31 - a symbolic event name (use 'perf list' to list all events) 40 linkperf:perf-list[1] man page for details on event modifiers. 79 See the linkperf:perf-list[1] man page for more parameters. 89 perf record -e some_event/@cfg1,@cfg2=config/ ... [all …]
|
| H A D | perf-data.txt | 1 perf-data(1) 6 perf-data - Data file related processing 11 'perf data' [<common options>] <command> [<options>]", 20 Converts perf data file into another format. 23 perf --debug data-convert data convert ... 37 Specify input perf data file path. 53 linkperf:perf[1]
|
| H A D | perf-ftrace.txt | 1 perf-ftrace(1) 6 perf-ftrace - simple wrapper for kernel's ftrace functionality 12 'perf ftrace' {trace|latency|profile} <command> 16 The 'perf ftrace' command provides a collection of subcommands which use 19 'perf ftrace trace' is a simple wrapper of the ftrace. It only supports 23 'perf ftrace latency' calculates execution latency of a given function 26 'perf ftrace profile' show a execution profile for each function including 29 The following options apply to perf ftrace. 60 OPTIONS for 'perf ftrace trace' 138 OPTIONS for 'perf ftrace latency' [all …]
|
| H A D | perf-version.txt | 1 perf-version(1) 6 perf-version - display the version of perf binary 10 'perf version' [--build-options] 14 With no options given, the 'perf version' prints the perf version
|
| H A D | perf-iostat.txt | 1 perf-iostat(1) 6 perf-iostat - Show I/O performance metrics 11 'perf iostat' list 12 'perf iostat' <ports> \-- <command> [<options>] 42 $ perf iostat list 54 $ perf iostat -- dd if=/dev/zero of=/dev/nvme0n1 bs=1M oflag=direct 73 $ perf iostat 0000:17,0:3a -- dd if=/dev/zero of=/dev/nvme0n1 bs=1M oflag=direct 88 linkperf:perf-stat[1]
|
| /linux/Documentation/admin-guide/perf/ |
| H A D | arm-ccn.rst | 10 PMU (perf) driver 13 The CCN driver registers a perf PMU driver, which provides 20 events, that can be used with perf tool. For example "xp_valid_flit" 49 Example of perf tool use:: 51 / # perf list | grep ccn 57 / # perf stat -a -e ccn/cycles/,ccn/xp_valid_flit,xp=1,port=0,vc=1,dir=1/ \ 60 The driver does not support sampling, therefore "perf record" will 61 not work. Per-task (without "-a") perf sessions are not supported.
|
| H A D | imx-ddr.rst | 8 control register which causes a large number of PERF signals to be generated. 19 hardware supported that can be used with perf tool, see /sys/bus/event_source/ 25 perf stat -a -e imx8_ddr0/cycles/ cmd 26 perf stat -a -e imx8_ddr0/read/,imx8_ddr0/write/ cmd 45 incremented. Perf counter is incremented if:: 54 perf stat -a -e imx8_ddr0/axid-read,axi_mask=0xMMMM,axi_id=0xDDDD/ cmd 55 perf stat -a -e imx8_ddr0/axid-write,axi_mask=0xMMMM,axi_id=0xDDDD/ cmd 65 perf stat -a -e imx8_ddr0/axid-read,axi_id=0x12/ cmd, which will monitor ARID=0x12 92 perf stat -a -e imx8_ddr0/axid-read,axi_mask=0xMMMM,axi_id=0xDDDD,axi_channel=0xH/ cmd 93 perf stat -a -e imx8_ddr0/axid-write,axi_mask=0xMMMM,axi_id=0xDDDD,axi_channel=0xH/ cmd
|
| H A D | thunderx2-pmu.rst | 19 PMU UNCORE (perf) driver: 21 The thunderx2_pmu driver registers per-socket perf PMUs for the DMC and 27 The driver does not support sampling, therefore "perf record" will not 28 work. Per-task perf sessions are also not supported. 32 # perf stat -a -e uncore_dmc_0/cnt_cycles/ sleep 1 34 # perf stat -a -e \ 40 # perf stat -a -e \
|
| /linux/Documentation/trace/coresight/ |
| H A D | coresight-config.rst | 15 can then be easily enabled from sysfs or perf. 115 2) The configuration is enabled. For example 'perf' may select the 118 perf record -e cs_etm/autofdo/ myapp 122 3) perf starts tracing on the system. As each ETMv4 that perf uses for 130 5) At the end of the perf session, the configuration will be disabled. 209 Using Configurations in perf 213 also declared in the perf 'cs_etm' event infrastructure so that they can 214 be selected when running trace under perf:: 220 The key directory here is 'events' - a generic perf directory which allows 221 selection on the perf command line. As with the sinks entries, this provides [all …]
|
| /linux/Documentation/arch/arm64/ |
| H A D | perf.rst | 6 Perf title 9 Perf Event Attributes 95 Perf Userspace PMU Hardware Counter Access 100 The perf userspace tool relies on the PMU to monitor events. It offers an 122 It is necessary to open the event using the perf tool interface with config1:1 133 and perf_evsel__read() functions. See `tools/lib/perf/tests/test-evsel.c`_ for 143 Have a look at `tools/perf/arch/arm64/tests/user-events.c`_ for an example. It 144 can be run using the perf tool to check that the access to the registers works 149 perf test -v user 163 .. _tools/perf/arch/arm64/tests/user-events.c: [all …]
|
| /linux/tools/testing/selftests/turbostat/ |
| H A D | added_perf_counters.py | 17 return f'perf/{self.subsys}/{self.event},{counter_scope},{counter_type},{column_name}' 37 perf = which('perf') 38 if perf is None: 39 print('SKIP: Could not find perf binary, thus could not determine perf access.') 43 proc_perf = subprocess.run([perf, 'stat', '-e', counter_name, '--timeout', '10'], 47 print(f'SKIP: Could not read {counter_name} perf counter.') 51 print(f'SKIP: Could not read {counter_name} perf counter.') 61 print('SKIP: Could not read any perf counter.')
|
| /linux/tools/perf/scripts/perl/ |
| H A D | check-perf-trace.pl | 1 # perf script event handlers, generated by perf script -g perl 6 # strings, common_xxx() calls back into perf, begin, end, unhandled 10 use lib "$ENV{'PERF_EXEC_PATH'}/scripts/perl/Perf-Trace-Util/lib"; 11 use lib "./Perf-Trace-Util/lib"; 12 use Perf::Trace::Core; 13 use Perf::Trace::Context; 14 use Perf::Trace::Util;
|
| /linux/tools/perf/scripts/perl/Perf-Trace-Util/lib/Perf/Trace/ |
| H A D | Context.pm | 1 package Perf::Trace::Context; 23 XSLoader::load('Perf::Trace::Context', $VERSION); 29 Perf::Trace::Context - Perl extension for accessing functions in perf. 33 use Perf::Trace::Context; 37 Perf (script) documentation
|
| /linux/tools/lib/perf/Documentation/examples/ |
| H A D | counting.c | 2 #include <perf/evlist.h> 3 #include <perf/evsel.h> 4 #include <perf/cpumap.h> 5 #include <perf/threadmap.h> 6 #include <perf/mmap.h> 7 #include <perf/core.h> 8 #include <perf/event.h>
|
| /linux/tools/perf/ |
| H A D | perf.c | 2 * perf.c 6 * This is the main hub from which the sub-commands (perf stat, 7 * perf top, perf record, perf report, etc.) are started. 10 #include "perf.h" 26 #include "perf-sys.h" 29 #include <perf/core.h> 389 /* Turn "perf cmd --help" into "perf help cmd" */ in handle_internal_command() 411 if (asprintf(&cmd, "perf-%s", argv[0]) < 0) in execv_dashed_external() 415 * argv[0] must be the perf command, but the argv array in execv_dashed_external() 467 exec_cmd_init("perf", PREFIX, PERF_EXEC_PATH, EXEC_PATH_ENVIRONMENT); in main() [all …]
|