linux/tools/perf
Wang Nan f06149c0db perf session: Don't warn about out of order event if write_backward is used
If write_backward attribute is set, records are written into kernel
ring buffer from end to beginning, but read from beginning to end.
To avoid 'XX out of order events recorded' warning message (timestamps
of records is in reverse order when using write_backward), suppress the
warning message if write_backward is selected by at lease one event.

Result:

Before this patch:
  # perf record -m 1 -e raw_syscalls:sys_exit/overwrite/ \
                     -e raw_syscalls:sys_enter \
                     dd if=/dev/zero of=/dev/null count=300
  300+0 records in
  300+0 records out
  153600 bytes (154 kB) copied, 0.000601617 s, 255 MB/s
  [ perf record: Woken up 5 times to write data ]
  Warning:
  40 out of order events recorded.
  [ perf record: Captured and wrote 0.096 MB perf.data (696 samples) ]

After this patch:
  # perf record -m 1 -e raw_syscalls:sys_exit/overwrite/ \
                     -e raw_syscalls:sys_enter \
                     dd if=/dev/zero of=/dev/null count=300
  300+0 records in
  300+0 records out
  153600 bytes (154 kB) copied, 0.000644873 s, 238 MB/s
  [ perf record: Woken up 5 times to write data ]
  [ perf record: Captured and wrote 0.096 MB perf.data (696 samples) ]

Signed-off-by: Wang Nan <wangnan0@huawei.com>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Nilay Vaish <nilayvaish@gmail.com>
Cc: Zefan Li <lizefan@huawei.com>
Cc: pi3orama@163.com
Link: http://lkml.kernel.org/r/1468485287-33422-15-git-send-email-wangnan0@huawei.com
Signed-off-by: He Kuang <hekuang@huawei.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2016-07-15 17:27:51 -03:00
..
Documentation perf tools: Enable overwrite settings 2016-07-15 17:27:51 -03:00
arch perf tools: Remove needless includes from cache.h 2016-07-12 15:19:58 -03:00
bench perf bench: Copy kernel files needed to build mem{cpy,set} x86_64 benchmarks 2016-07-12 15:20:32 -03:00
config perf build: Add sdt feature detection 2016-07-13 23:09:09 -03:00
jvmti perf jit: Add support for using TSC as a timestamp 2016-04-01 18:42:55 -03:00
python perf python: Add tracepoint example 2016-07-12 16:23:35 -03:00
scripts perf script stackcollapse: Remove reference to the perl interpreter 2016-06-22 09:56:34 -03:00
tests perf tools: Enable overwrite settings 2016-07-15 17:27:51 -03:00
trace perf trace beauty seccomp: Remove seccomp.h include 2016-07-12 15:20:38 -03:00
ui perf tools: Remove needless includes from cache.h 2016-07-12 15:19:58 -03:00
util perf session: Don't warn about out of order event if write_backward is used 2016-07-15 17:27:51 -03:00
.gitignore perf tools: Add arch/*/include/generated/ to .gitignore 2016-05-30 12:41:46 -03:00
Build perf tools: Set and pass DOCDIR to builtin-report.c 2016-01-12 12:42:07 -03:00
CREDITS
MANIFEST perf tools: Add the tools/ stringify copy to the MANIFEST 2016-07-12 15:20:40 -03:00
Makefile perf build tests: Do parallell builds with 'build-test' 2016-02-04 15:57:00 -03:00
Makefile.perf perf build: Add sdt feature detection 2016-07-13 23:09:09 -03:00
builtin-annotate.c perf annotate: Introduce --stdio-color to setup the color output mode selection 2016-07-12 00:00:39 -03:00
builtin-bench.c perf subcmd: Create subcmd library 2015-12-17 14:27:14 -03:00
builtin-buildid-cache.c tools: Introduce str_error_r() 2016-07-12 15:19:47 -03:00
builtin-buildid-list.c perf subcmd: Create subcmd library 2015-12-17 14:27:14 -03:00
builtin-config.c perf config: Reimplement show_config() using config_set__for_each 2016-06-23 17:23:00 -03:00
builtin-data.c perf data ctf: Add '--all' option for 'perf data convert' 2016-06-28 10:54:57 -03:00
builtin-diff.c perf evlist: Rename for_each() macros to for_each_entry() 2016-06-23 11:26:15 -03:00
builtin-evlist.c perf evlist: Rename for_each() macros to for_each_entry() 2016-06-23 11:26:15 -03:00
builtin-help.c tools: Introduce str_error_r() 2016-07-12 15:19:47 -03:00
builtin-inject.c perf evlist: Rename for_each() macros to for_each_entry() 2016-06-23 11:26:15 -03:00
builtin-kmem.c perf evlist: Rename for_each() macros to for_each_entry() 2016-06-23 11:26:15 -03:00
builtin-kvm.c tools: Introduce str_error_r() 2016-07-12 15:19:47 -03:00
builtin-list.c perf list: Show SDT and pre-cached events 2016-07-13 23:09:07 -03:00
builtin-lock.c perf subcmd: Create subcmd library 2015-12-17 14:27:14 -03:00
builtin-mem.c perf mem: Add --ldlat option 2016-06-15 10:35:27 -03:00
builtin-probe.c perf probe: Make --list show only available cached events 2016-07-13 23:09:05 -03:00
builtin-record.c perf tools: Enable overwrite settings 2016-07-15 17:27:51 -03:00
builtin-report.c perf report: Introduce --stdio-color to setup the color output mode selection 2016-07-12 00:00:39 -03:00
builtin-sched.c tools: Introduce str_error_r() 2016-07-12 15:19:47 -03:00
builtin-script.c perf script: Add callindent option 2016-06-23 17:04:26 -03:00
builtin-stat.c tools: Introduce str_error_r() 2016-07-12 15:19:47 -03:00
builtin-timechart.c perf tools: Set buildid dir under symfs when --symfs is provided 2016-05-20 11:43:58 -03:00
builtin-top.c tools: Introduce str_error_r() 2016-07-12 15:19:47 -03:00
builtin-trace.c perf trace: Remove unused sys/ptrace.h include 2016-07-12 15:20:35 -03:00
builtin-version.c perf tools: Move cmd_version() to builtin-version.c 2015-12-09 13:42:03 -03:00
builtin.h perf tools: Remove needless 'extern' from function prototypes 2016-03-23 15:06:35 -03:00
command-list.txt perf tools: Do not show trace command if it's not compiled in 2016-01-08 12:46:17 -03:00
design.txt perf tools: Update some code references in design.txt 2014-03-18 18:17:06 -03:00
perf-archive.sh
perf-completion.sh perf tools: Avoid confusion with preloaded bash function for perf bash completion 2015-03-19 13:53:27 -03:00
perf-read-vdso.c perf tools: Build programs to copy 32-bit compatibility 2014-10-29 10:32:48 -02:00
perf-sys.h perf tools: Move syscall number fallbacks from perf-sys.h to tools/arch/x86/include/asm/ 2016-07-12 15:19:54 -03:00
perf-with-kcore.sh perf tools: Fix perf-with-kcore handling of arguments containing spaces 2015-08-06 16:48:27 -03:00
perf.c perf tools: Just pr_debug() about not being able to read cacheline_size 2016-07-15 10:08:29 -03:00
perf.h perf tools: Enable overwrite settings 2016-07-15 17:27:51 -03:00