kernel_optimize_test/tools/perf
Mathieu Poirier e45c48a9a4 perf cs-etm: Properly set the value of 'old' and 'head' in snapshot mode
This patch adds the necessary intelligence to properly compute the value
of 'old' and 'head' when operating in snapshot mode.  That way we can
get the latest information in the AUX buffer and be compatible with the
generic AUX ring buffer mechanic.

Tester notes:

> Leo, have you had the chance to test/review this one? Suzuki?

Sure.  I applied this patch on the perf/core branch (with latest
commit 3e4fbf36c1e3 'perf augmented_raw_syscalls: Move reading
filename to the loop') and passed testing with below steps:

  # perf record -e cs_etm/@tmc_etr0/ -S -m,64 --per-thread ./sort &
  [1] 19097
  Bubble sorting array of 30000 elements

  # kill -USR2 19097
  # kill -USR2 19097
  # kill -USR2 19097
  [ perf record: Woken up 4 times to write data ]
  [ perf record: Captured and wrote 0.753 MB perf.data ]

Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Tested-by: Leo Yan <leo.yan@linaro.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Suzuki Poulouse <suzuki.poulose@arm.com>
Cc: linux-arm-kernel@lists.infradead.org
Link: http://lkml.kernel.org/r/20190605161633.12245-1-mathieu.poirier@linaro.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2019-06-10 16:20:11 -03:00
..
arch perf cs-etm: Properly set the value of 'old' and 'head' in snapshot mode 2019-06-10 16:20:11 -03:00
bench perf bench numa: Add define for RUSAGE_THREAD if not present 2019-05-02 16:00:20 -04:00
Documentation perf data: Fix perf.data documentation for HEADER_CPU_TOPOLOGY 2019-06-10 16:20:11 -03:00
examples/bpf perf augmented_raw_syscalls: Move reading filename to the loop 2019-06-05 09:48:55 -03:00
include/bpf perf bpf: Automatically add BTF ELF markers 2019-03-06 09:45:37 -03:00
jvmti perf jvmti: Address gcc string overflow warning for strncpy() 2019-06-05 09:51:26 -03:00
pmu-events perf vendor events arm64: Add Cortex-A57 and Cortex-A72 events 2019-05-15 16:36:49 -03:00
python
scripts perf scripts python: exported-sql-viewer.py: Select find text when find bar is activated 2019-06-05 09:47:58 -03:00
tests perf tests: Add map_groups__merge_in test 2019-05-28 18:37:44 -03:00
trace perf trace: Beautify 'sync_file_range' arguments 2019-05-28 18:37:43 -03:00
ui perf annotate TUI browser: Do not use member from variable within its own initialization 2019-05-28 18:37:44 -03:00
util perf tools: Apply new CPU topology sysfs attributes 2019-06-10 16:20:11 -03:00
.gitignore
Build perf tools: Rename build libperf to perf 2019-02-14 15:18:08 -03:00
builtin-annotate.c perf annotate: Remove hist__account_cycles() from callback 2019-05-15 16:36:46 -03:00
builtin-bench.c
builtin-buildid-cache.c perf data: Add global path holder 2019-02-22 16:52:07 -03:00
builtin-buildid-list.c perf data: Add global path holder 2019-02-22 16:52:07 -03:00
builtin-c2c.c perf c2c: Fix c2c report for empty numa node 2019-03-06 18:15:24 -03:00
builtin-config.c
builtin-data.c
builtin-diff.c perf diff: Support --pid/--tid filter options 2019-03-06 18:06:16 -03:00
builtin-evlist.c perf data: Add global path holder 2019-02-22 16:52:07 -03:00
builtin-ftrace.c
builtin-help.c
builtin-inject.c perf inject: Enable COMPRESSED record decompression 2019-05-15 16:36:49 -03:00
builtin-kallsyms.c pref tools: Add missing map.h includes 2019-02-06 10:00:38 -03:00
builtin-kmem.c perf tools, tools lib traceevent: Rename "pevent" member of struct tep_event to "tep" 2019-04-01 15:18:10 -03:00
builtin-kvm.c perf data: Add global path holder 2019-02-22 16:52:07 -03:00
builtin-list.c perf list: Output tool events 2019-04-01 14:49:25 -03:00
builtin-lock.c perf data: Add global path holder 2019-02-22 16:52:07 -03:00
builtin-mem.c perf data: Add global path holder 2019-02-22 16:52:07 -03:00
builtin-probe.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
builtin-record.c perf record: Add support to collect callchains from kernel or user space only 2019-06-10 15:50:01 -03:00
builtin-report.c perf report: Implement perf.data record decompression 2019-05-15 16:36:49 -03:00
builtin-sched.c perf data: Add global path holder 2019-02-22 16:52:07 -03:00
builtin-script.c perf script: Add output of IPC ratio 2019-06-05 09:47:56 -03:00
builtin-stat.c perf stat: Support per-die aggregation 2019-06-10 16:19:59 -03:00
builtin-timechart.c perf data: Add global path holder 2019-02-22 16:52:07 -03:00
builtin-top.c perf top: Lower message level for failure on synthesizing events for pre-existing BPF programs 2019-05-28 18:37:45 -03:00
builtin-trace.c perf trace: Exit when failing to build eBPF program 2019-06-10 15:49:43 -03:00
builtin-version.c tools build: Implement libzstd feature check, LIBZSTD_DIR and NO_LIBZSTD defines 2019-04-01 15:18:10 -03:00
builtin.h perf script: Add array bound checking to list_scripts 2019-03-11 16:33:19 -03:00
check-headers.sh tools headers uapi: Sync asm-generic/mman-common.h and linux/mman.h 2019-03-28 14:31:56 -03:00
command-list.txt
CREDITS
design.txt perf/doc: Update design.txt for exclude_{host|guest} flags 2019-01-21 11:01:18 +01:00
Makefile
Makefile.config perf cs-etm: Add support for multiple traceID queues 2019-06-10 15:50:02 -03:00
Makefile.perf Linux 5.2-rc3 2019-06-03 11:56:35 +02:00
MANIFEST
perf-archive.sh
perf-completion.sh
perf-read-vdso.c perf tools: Make find_vdso_map() more modular 2019-01-08 13:28:13 -03:00
perf-sys.h
perf-with-kcore.sh perf-with-kcore.sh: Always allow fix_buildid_cache_permissions 2019-05-28 18:37:42 -03:00
perf.c perf bpf: Save bpf_prog_info in a rbtree in perf_env 2019-03-19 16:52:06 -03:00
perf.h perf record: Add support to collect callchains from kernel or user space only 2019-06-10 15:50:01 -03:00