/linux/tools/perf/Documentation/ |
H A D | tips.txt | 1 For a higher level overview, try: perf report --sort comm,dso 2 Sample related events with: perf record -e '{cycles,instructions}:S' 3 Compare performance results with: perf diff [<old file> <new file>] 4 Boolean options have negative forms, e.g.: perf report --no-children 6 Customize output of perf script with: perf script -F event,ip,sym 7 Generate a script for your data: perf script -g <lang> 8 Save output of perf stat using: perf stat record <target workload> 9 Create an archive with symtabs to analyse on other machine: perf archiv [all...] |
H A D | perf.txt | 1 perf(1) 6 perf - Performance analysis tools for Linux 11 'perf' [--version] [--help] [OPTIONS] COMMAND [ARGS] 17 Run perf help command. 21 Display perf version. 44 List the most commonly used perf commands. 47 List available perf options. 64 perf-event-open - Print perf_event_open() arguments and 66 kmaps - Print kernel and module maps (perf script 67 and perf report without browser) [all …]
|
H A D | perf-daemon.txt | 1 perf-daemon(1) 7 perf-daemon - Run record sessions on background 13 'perf daemon' 14 'perf daemon' [<options>] 15 'perf daemon start' [<options>] 16 'perf daemon stop' [<options>] 17 'perf daemon signal' [<options>] 18 'perf daemon ping' [<options>] 26 You can imagine 'perf daemon' of background process with several 27 'perf record' child tasks, like: [all …]
|
H A D | perf-kvm.txt | 1 perf-kvm(1) 6 perf-kvm - Tool to trace/measure kvm guest os 11 'perf kvm' [--host] [--guest] [--guestmount=<path> 14 'perf kvm' [--host] [--guest] [--guestkallsyms=<path> --guestmodules=<path> 16 'perf kvm stat [record|report|live] [<options>] 20 There are a couple of variants of perf kvm: 22 'perf kvm [options] top <command>' to generates and displays 26 'perf kvm record <command>' to record the performance counter profile 27 of an arbitrary workload and save it into a perf data file. We set the 28 default behavior of perf kvm as --guest, so if neither --host nor --guest [all …]
|
H A D | Build.txt | 2 1) perf build 4 The perf build process consists of several separated building blocks, 5 which are linked together to form the perf binary: 7 - perf builtin commands 11 Several makefiles govern the perf build: 15 Makefile.perf with a -j option to do parallel builds. 17 - Makefile.perf 18 main makefile that triggers build of all perf objects including 34 2) perf build 36 The Makefile.perf triggers the build framework for build objects: [all …]
|
H A D | perf.data-directory-format.txt | 1 perf.data directory format 4 in following versions of perf. We will remove this 8 This document describes the on-disk perf.data directory format. 20 - there is a single perf.data file named 'data' within the directory. 23 $ tree -ps perf.data 24 perf.data 30 Currently the only 'perf record' option to output to a directory is 34 $ sudo perf record --kcore uname 36 [ perf record: Woken up 1 times to write data ] 37 [ perf record: Captured and wrote 0.015 MB perf.data (9 samples) ] [all …]
|
H A D | perf-diff.txt | 1 perf-diff(1) 6 perf-diff - Read perf.data files and display the differential profile 11 'perf diff' [baseline file] [data file1] [[data file2] ... ] 15 This command displays the performance difference amongst two or more perf.data 16 files captured via perf record. 18 If no parameters are passed it will assume perf.data.old and perf.data. 21 specified perf.data files. 24 As the perf.data files could come from different binaries, the symbols addresses 25 could vary. So perf diff is based on the comparison of the files and 62 Please see description of --sort in the perf-report man page. [all …]
|
H A D | perf-amd-ibs.txt | 1 perf-amd-ibs(1) 6 perf-amd-ibs - Support for AMD Instruction-Based Sampling (IBS) with perf tool 11 'perf record' -e ibs_op// 12 'perf record' -e ibs_fetch// 27 using the Linux perf utility. The following files will be created at boot time 44 (sample was generated at IP X but perf would record it at IP X+n). Hence, 66 # perf record -e ibs_op// -c 100000 -a 70 # perf record -e ibs_op// -c 100000 -C 10 74 # perf record -e ibs_op// -F 1000 -C 10 78 # perf record -e ibs_op/cnt_ctl=1/ -c 100000 -a [all …]
|
H A D | perf-script.txt | 1 perf-script(1) 6 perf-script - Read perf.data (created by perf record) and display trace output 11 'perf script' [<options>] 12 'perf script' [<options>] record <script> [<record-options>] <command> 13 'perf script' [<options>] report <script> [script-args] 14 'perf script' [<options>] <script> <required-script-args> [<record-options>] <command> 15 'perf script' [<options>] <top-script> [script-args] 21 There are several variants of perf scrip [all...] |
H A D | perf-script-perl.txt | 1 perf-script-perl(1) 6 perf-script-perl - Process trace data with a Perl script 11 'perf script' [-s [Perl]:script[.pl] ] 16 This perf script option is used to process perf script data using perf's 24 You can avoid reading the rest of this document by running 'perf script 25 -g perl' in the same directory as an existing perf.data trace file. 31 ~/libexec/perf-core/scripts/perl for typical examples showing how to 33 the check-perf-script.pl script, while not interesting for its results, 39 When perf script is invoked using a trace script, a user-defined 47 available as calls back into the perf executable (see below). [all …]
|
/linux/tools/perf/ |
H A D | command-list.txt | 2 # List of known perf commands. 5 perf-annotate mainporcelain common 6 perf-archive mainporcelain common 7 perf-bench mainporcelain common 8 perf-buildid-cache mainporcelain common 9 perf-buildid-list mainporcelain common 10 perf-data mainporcelain common 11 perf-diff mainporcelain common 12 perf-c2c mainporcelain common 13 perf-config mainporcelain common [all …]
|
H A D | Build | 1 perf-bench-y += builtin-bench.o 2 perf-y += builtin-annotate.o 3 perf-y += builtin-check.o 4 perf-y += builtin-config.o 5 perf-y += builtin-diff.o 6 perf-y += builtin-evlist.o 7 perf-y += builtin-ftrace.o 8 perf-y += builtin-help.o 9 perf-y += builtin-buildid-list.o 10 perf [all...] |
/linux/drivers/ntb/test/ |
H A D | ntb_perf.c | 45 * PCIe NTB Perf Linux driver 126 * Perf driver data definition 144 struct perf_ctx *perf; member 169 struct perf_ctx *perf; member 205 int (*cmd_recv)(struct perf_ctx *perf, int *pidx, enum perf_cmd *cmd, 247 static void perf_terminate_test(struct perf_ctx *perf); 253 link = ntb_link_is_up(peer->perf->ntb, NULL, NULL); in perf_link_is_up() 260 struct perf_ctx *perf = peer->perf; in perf_spad_cmd_send() local 264 dev_dbg(&perf->ntb->dev, "CMD send: %d 0x%llx\n", cmd, data); in perf_spad_cmd_send() 277 sts = ntb_peer_spad_read(perf->ntb, peer->pidx, in perf_spad_cmd_send() [all …]
|
/linux/drivers/gpu/drm/msm/ |
H A D | msm_perf.c | 41 static int wait_sample(struct msm_perf_state *perf) in wait_sample() argument 45 if (time_after(perf->next_jiffies, start_jiffies)) { in wait_sample() 47 perf->next_jiffies - start_jiffies; in wait_sample() 54 perf->next_jiffies += SAMPLE_TIME; in wait_sample() 58 static int refill_buf(struct msm_perf_state *perf) in refill_buf() argument 60 struct msm_drm_private *priv = perf->dev->dev_private; in refill_buf() 62 char *ptr = perf->buf; in refill_buf() 63 int rem = sizeof(perf->buf); in refill_buf() 66 if ((perf->cnt++ % 32) == 0) { in refill_buf() 86 ret = wait_sample(perf); in refill_buf() [all …]
|
/linux/drivers/gpu/drm/nouveau/nvkm/subdev/bios/ |
H A D | perf.c | 26 #include <subdev/bios/perf.h> 34 u32 perf = 0; in nvbios_perf_table() local 38 perf = nvbios_rd32(bios, bit_P.offset + 0); in nvbios_perf_table() 39 if (perf) { in nvbios_perf_table() 40 *ver = nvbios_rd08(bios, perf + 0); in nvbios_perf_table() 41 *hdr = nvbios_rd08(bios, perf + 1); in nvbios_perf_table() 43 *cnt = nvbios_rd08(bios, perf + 5); in nvbios_perf_table() 44 *len = nvbios_rd08(bios, perf + 2); in nvbios_perf_table() 45 *snr = nvbios_rd08(bios, perf + 4); in nvbios_perf_table() 46 *ssz = nvbios_rd08(bios, perf + 3); in nvbios_perf_table() [all …]
|
/linux/tools/perf/tests/ |
H A D | hists_cumulate.c | 27 /* perf [kernel] schedule() */ 29 /* perf [perf] main() */ 31 /* perf [perf] cmd_record() */ 33 /* perf [libc] malloc() */ 35 /* perf [libc] free() */ 37 /* perf [perf] main() */ 39 /* perf [kerne [all...] |
H A D | hists_common.h | 43 * perf: 100 perf main 44 * perf: 100 perf run_command 45 * perf: 100 perf cmd_record 46 * perf: 100 libc malloc 47 * perf: 100 libc free 48 * perf: 100 libc realloc 49 * perf: 100 [kernel] schedule 50 * perf: 100 [kernel] page_fault 51 * perf: 100 [kernel] sys_perf_event_open 52 * perf: 200 perf main [all …]
|
H A D | hists_output.c | 28 /* perf [kernel] schedule() */ 30 /* perf [perf] main() */ 32 /* perf [perf] cmd_record() */ 34 /* perf [libc] malloc() */ 36 /* perf [libc] free() */ 38 /* perf [perf] main() */ 40 /* perf [kerne [all...] |
/linux/tools/perf/bench/ |
H A D | Build | 1 perf-bench-y += sched-messaging.o 2 perf-bench-y += sched-pipe.o 3 perf-bench-y += sched-seccomp-notify.o 4 perf-bench-y += syscall.o 5 perf-bench-y += mem-functions.o 6 perf-bench-y += futex.o 7 perf-bench-y += futex-hash.o 8 perf-bench-y += futex-wake.o 9 perf-bench-y += futex-wake-parallel.o 10 perf [all...] |
/linux/tools/perf/trace/beauty/ |
H A D | Build | 1 perf-y += clone.o 2 perf-y += fcntl.o 3 perf-y += flock.o 4 perf-y += fs_at_flags.o 5 perf-y += fsmount.o 6 perf-y += fspick.o 8 perf-y += ioctl.o 10 perf-y += kcmp.o 11 perf-y += mount_flags.o 12 perf [all...] |
/linux/tools/perf/tests/shell/common/ |
H A D | patterns.sh | 161 export RE_LINE_RECORD1="^\[\s+perf\s+record:\s+Woken up $RE_NUMBER times? to write data\s+\].*$" 162 # The first line of perf-record "OK" output 164 # [ perf record: Woken up 1 times to write data ] 167 export RE_LINE_RECORD2="^\[\s+perf\s+record:\s+Captured and wrote $RE_NUMBER\s*MB\s+(?:[\w\+\.-]*(?… 168 # The second line of perf-record "OK" output 170 # [ perf record: Captured and wrote 0.405 MB perf.data (109 samples) ] 171 # [ perf record: Captured and wrote 0.405 MB perf.data (~109 samples) ] 172 # [ perf record: Captured and wrote 0.405 MB /some/temp/dir/perf.data (109 samples) ] 173 # [ perf record: Captured and wrote 0.405 MB ./perf.data (109 samples) ] 174 # [ perf record: Captured and wrote 0.405 MB ./perf.data.3 (109 samples) ] [all …]
|
/linux/drivers/cpufreq/ |
H A D | amd-pstate.c | 139 static inline u8 freq_to_perf(union perf_cached perf, u32 nominal_freq, unsigned int freq_val) in freq_to_perf() argument 141 u32 perf_val = DIV_ROUND_UP_ULL((u64)freq_val * perf.nominal_perf, nominal_freq); in freq_to_perf() 143 return (u8)clamp(perf_val, perf.lowest_perf, perf.highest_perf); in freq_to_perf() 146 static inline u32 perf_to_freq(union perf_cached perf, u32 nominal_freq, u8 perf_val) in perf_to_freq() argument 149 perf.nominal_perf); in perf_to_freq() 202 pr_debug("Could not retrieve energy perf value (%d)\n", ret); in msr_get_epp() 223 pr_debug("Could not retrieve energy perf value (%d)\n", ret); in shmem_get_epp() 246 union perf_cached perf = READ_ONCE(cpudata->perf); in msr_update_perf() local 249 perf.highest_perf, in msr_update_perf() 297 union perf_cached perf = cpudata->perf; in msr_set_epp() local [all …]
|
/linux/Documentation/trace/coresight/ |
H A D | coresight-perf.rst | 4 CoreSight - Perf 10 Perf is able to locally access CoreSight trace data and store it to the 11 output perf data files. This data can then be later decoded to give the 13 can log such data with a perf record command like:: 15 perf record -e cs_etm//u testbinary 18 a perf.data trace file. That file would have AUX sections if CoreSight 22 perf report --stdio --dump -i perf.data 43 To compile perf with CoreSight support in the tools/perf directory do:: 53 For complete information on building perf with CoreSight support and 86 profiling result. To mitigate the issue of excessive trace data, Perf [all …]
|
/linux/drivers/gpu/drm/i915/ |
H A D | i915_perf.c | 29 * DOC: i915 Perf Overview 35 * This i915 perf interface enables userspace to configure and open a file 51 * DOC: i915 Perf History and Comparison with Core Perf 53 * The interface was initially inspired by the core Perf infrastructure but 56 * i915 perf file descriptors represent a "stream" instead of an "event"; where 57 * a perf event primarily corresponds to a single 64bit value, while a stream 61 * of related counters. Samples for an i915 perf stream capturing OA metrics 64 * selected by the user opening the stream. Perf has support for grouping 68 * i915 perf stream configurations are provided as an array of u64 (key,value) 72 * i915 perf doesn't support exposing metrics via an mmap'd circular buffer. [all …]
|
/linux/drivers/gpu/drm/i915/selftests/ |
H A D | i915_perf.c | 20 alloc_empty_config(struct i915_perf *perf) in alloc_empty_config() argument 28 oa_config->perf = perf; in alloc_empty_config() 33 mutex_lock(&perf->metrics_lock); in alloc_empty_config() 35 oa_config->id = idr_alloc(&perf->metrics_idr, oa_config, 2, 0, GFP_KERNEL); in alloc_empty_config() 37 mutex_unlock(&perf->metrics_lock); in alloc_empty_config() 42 mutex_unlock(&perf->metrics_lock); in alloc_empty_config() 48 destroy_empty_config(struct i915_perf *perf) in destroy_empty_config() argument 53 mutex_lock(&perf->metrics_lock); in destroy_empty_config() 55 idr_for_each_entry(&perf->metrics_idr, tmp, id) { in destroy_empty_config() 63 idr_remove(&perf->metrics_idr, oa_config->id); in destroy_empty_config() [all …]
|