OpenCloudOS-Kernel/tools
Jiri Olsa 29208e573a perf tools: Fix tracing info recording
Fixing the way the tracing information is stored within record command.
The current implementation is causing issues for pipe output.

Following commands fail currently:
	perf script syscall-counts ls
	perf record -e syscalls:sys_exit_read ls | ./perf report -i -

The tracing information is part of the perf data file. It contains
several files from within the tracing debugfs and procs directories.

Beside some static header files, for each tracing event the format
file is added. The /proc/kallsyms file is also added.

The tracing data are stored with preceeding size. This is causing some
dificulties for pipe output, since there's no way to tell debugfs/proc
file size before reading it. So, for pipe output, all the debugfs files
were read twice. Once to get the overall size and once to store the
content itself. This can cause problem in case any of these file
changed, within the storage time.

To fix this behaviour and ensure the integrity of the tracing data, we:
    - read debugfs/proc file into the temp file
    - get temp file size and dump it to the pipe
    - dump the temp file contents to the pipe

Cc: Eric Dumazet <eric.dumazet@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Neil Horman <nhorman@tuxdriver.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Steven Rostedt <rostedt@goodmis.org>
Link: http://lkml.kernel.org/r/20111020135943.GD2092@jolsa.brq.redhat.com
Signed-off-by: Jiri Olsa <jolsa@redhat.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2011-10-20 12:41:42 -02:00
..
firewire tools/firewire: nosy-dump: increment program version 2010-07-27 11:04:12 +02:00
perf perf tools: Fix tracing info recording 2011-10-20 12:41:42 -02:00
power cpupower: use man(1) when calling "cpupower help subcommand" 2011-08-19 17:13:56 +02:00
slub slub: slabinfo update for cmpxchg handling 2011-07-02 13:26:57 +03:00
testing/ktest ktest: Fix bug when ADD_CONFIG is set but MIN_CONFIG is not 2011-07-15 22:05:59 -04:00
usb USB: ffs-test: fix header path 2011-02-28 19:27:12 -08:00
virtio virtio_test: support event index 2011-05-30 11:14:15 +09:30