Adrian Hunter
5cb73340d9
perf tools: Make fork event processing more resilient
...
When processing a fork event, the tools lookup the parent thread by its
tid. In a couple of cases, it is possible for that thread to have the
wrong pid.
That can happen if the data is being processed out of order, or if the
(fork) event that would have removed the erroneous thread was lost.
Assume the latter case, print a dump message, remove the erroneous
thread, create a new one with the correct pid, and keep going.
Reported-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Tested-by: Jiri Olsa <jolsa@kernel.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Link: http://lkml.kernel.org/r/1439994561-27436-3-git-send-email-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2015-08-19 14:15:25 -03:00
..
include
tools: Copy rbtree_augmented.h from the kernel
2015-07-05 22:59:05 -03:00
scripting-engines
tracing: Rename FTRACE_MAX_EVENT to TRACE_EVENT_TYPE_MAX
2015-05-13 14:06:42 -04:00
abspath.c
alias.c
perf tools: Introduce zfree
2013-12-27 15:17:00 -03:00
annotate.c
perf annotate: Rename source_line_percent to source_line_samples
2015-06-19 16:39:21 -03:00
annotate.h
perf annotate: Rename source_line_percent to source_line_samples
2015-06-19 16:39:21 -03:00
auxtrace.c
perf auxtrace: Fix misplaced check for HAVE_SYNC_COMPARE_AND_SWAP_SUPPORT
2015-07-15 11:57:28 -03:00
auxtrace.h
perf tools: Allow auxtrace data alignment
2015-06-23 18:28:37 -03:00
bitmap.c
perf tools: Add bitmap_or function into bitmap object
2012-02-13 23:28:10 -02:00
Build
tools: Copy lib/hweight.c from the kernel sources
2015-07-09 16:29:56 -03:00
build-id.c
perf machine: No need to have two DSOs lists
2015-05-29 12:43:43 -03:00
build-id.h
perf buildid-cache: Add --purge FILE to remove all caches of FILE
2015-02-27 15:52:33 -03:00
cache.h
perf report: Fix some option handling on --stdio
2015-05-14 10:05:22 -03:00
callchain.c
perf tools: Enable LBR call stack support
2015-02-18 17:16:17 +01:00
callchain.h
perf tools: Move TUI-specific fields out of map_symbol
2015-05-05 18:13:24 -03:00
cgroup.c
perf cgroup: Use atomic.h for refcounting
2015-05-15 16:12:20 -03:00
cgroup.h
perf cgroup: Use atomic.h for refcounting
2015-05-15 16:12:20 -03:00
cloexec.c
perf bench numa: Fix to show proper convergence stats
2015-06-25 12:28:35 -03:00
cloexec.h
perf tools: Work around lack of sched_getcpu in glibc < 2.6.
2015-03-24 12:08:07 -03:00
color.c
perf tools: Remove some unused functions from color.c
2015-01-21 13:24:32 -03:00
color.h
perf tools: Remove some unused functions from color.c
2015-01-21 13:24:32 -03:00
comm.c
perf comm: Use atomic.h for refcounting
2015-05-27 12:21:43 -03:00
comm.h
perf tools: Add facility to export data in database-friendly way
2014-10-29 10:32:49 -02:00
config.c
perf tools: Add --buildid-dir option to set cache directory
2014-12-09 09:14:35 -03:00
cpumap.c
perf tools: Add reference counting for cpu_map object
2015-06-25 15:15:50 -03:00
cpumap.h
perf tools: Add reference counting for cpu_map object
2015-06-25 15:15:50 -03:00
ctype.c
perf tools: ctype.c only wants util.h
2012-02-13 23:17:40 -02:00
data-convert-bt.c
perf data: Fix signedness of value
2015-04-29 10:37:49 -03:00
data-convert-bt.h
perf data: Support using -f to override perf.data file ownership for 'convert'
2015-04-02 13:18:52 -03:00
data.c
perf util: Replace strerror with strerror_r for thread-safety
2014-08-15 10:58:35 -03:00
data.h
perf tools: Add perf_data_file__write interface
2013-12-02 09:22:46 -03:00
db-export.c
perf db-export: Fix thread ref-counting
2015-05-29 12:43:39 -03:00
db-export.h
perf db-export: No need to have ->thread twice in struct export_sample
2015-04-02 13:18:43 -03:00
debug.c
perf data: Add perf data to CTF conversion support
2015-02-25 16:13:12 -03:00
debug.h
perf data: Add perf data to CTF conversion support
2015-02-25 16:13:12 -03:00
dso.c
perf tools: Reference count struct dso
2015-06-08 10:31:40 -03:00
dso.h
perf tools: Reference count struct dso
2015-06-08 10:31:40 -03:00
dwarf-aux.c
perf tools: Fix dwarf-aux.c compilation on i386
2015-05-15 16:59:43 -03:00
dwarf-aux.h
perf probe: Ignore tail calls to probed functions
2015-05-14 10:05:09 -03:00
environment.c
perf report: Fix some option handling on --stdio
2015-05-14 10:05:22 -03:00
event.c
perf thread_map: Don't access the array entries directly
2015-06-23 18:21:44 -03:00
event.h
perf tools: Configurable per thread proc map processing time out
2015-06-19 18:27:13 -03:00
evlist.c
perf evlist: Propagate thread maps through the evlist
2015-06-25 15:15:51 -03:00
evlist.h
perf stat: Move perf_evlist__(alloc|free|reset)_stats into stat object
2015-06-26 11:44:37 -03:00
evsel.c
perf stat: Remove perf_evsel__read_cb function
2015-06-26 11:50:51 -03:00
evsel.h
perf stat: Remove perf_evsel__read_cb function
2015-06-26 11:50:51 -03:00
exec_cmd.c
exec_cmd.h
find-vdso-map.c
perf tools: Build programs to copy 32-bit compatibility
2014-10-29 10:32:48 -02:00
generate-cmdlist.sh
tools/perf: Standardize feature support define names to: HAVE_{FEATURE}_SUPPORT
2013-10-09 08:48:28 +02:00
header.c
perf header: Delete an unnecessary check before the calling free_event_desc()
2015-06-25 15:15:49 -03:00
header.h
perf header: Add AUX area tracing feature
2015-04-29 10:37:49 -03:00
help.c
perf tools: Use zfree to help detect use after free bugs
2013-12-27 17:08:19 -03:00
help.h
hist.c
perf tools: Replace map->referenced & maps->removed_maps with map->refcnt
2015-06-16 10:34:38 -03:00
hist.h
perf hists: Reducing arguments of hist_entry_iter__add()
2015-05-27 12:21:43 -03:00
intlist.c
perf util: Add findnew method to intlist
2013-10-14 10:28:48 -03:00
intlist.h
perf util: Add findnew method to intlist
2013-10-14 10:28:48 -03:00
kvm-stat.h
perf kvm: Support using -f to override perf.data.guest file ownership
2015-04-02 13:18:47 -03:00
levenshtein.c
levenshtein.h
lzma.c
perf tools: Add lzma decompression support for kernel module
2015-03-21 14:53:40 -03:00
machine.c
perf tools: Make fork event processing more resilient
2015-08-19 14:15:25 -03:00
machine.h
perf tools: Configurable per thread proc map processing time out
2015-06-19 18:27:13 -03:00
map.c
perf tools: Replace map->referenced & maps->removed_maps with map->refcnt
2015-06-16 10:34:38 -03:00
map.h
perf tools: Replace map->referenced & maps->removed_maps with map->refcnt
2015-06-16 10:34:38 -03:00
ordered-events.c
perf ordered_samples: Remove references to perf_{evlist,tool} and machines
2015-03-31 17:52:32 -03:00
ordered-events.h
perf ordered_samples: Remove references to perf_{evlist,tool} and machines
2015-03-31 17:52:32 -03:00
pager.c
perf report: Fix some option handling on --stdio
2015-05-14 10:05:22 -03:00
parse-branch-options.c
perf record: Add support for sampling indirect jumps
2015-06-07 16:08:31 +02:00
parse-branch-options.h
perf tools: Move branch option parsing to own file
2015-05-27 21:02:17 -03:00
parse-events.c
perf tools: Add reference counting for cpu_map object
2015-06-25 15:15:50 -03:00
parse-events.h
perf tools: Fix function declarations needed by parse-events.y
2015-05-27 12:21:43 -03:00
parse-events.l
perf tools: Allow events with dot
2015-06-23 18:21:37 -03:00
parse-events.y
perf tools: Fix parse_events_error dereferences
2015-05-27 12:21:43 -03:00
parse-options.c
perf report: Don't allow empty argument for '-t'.
2015-03-19 13:53:28 -03:00
parse-options.h
perf record: Add AUX area tracing Snapshot Mode support
2015-05-05 18:13:01 -03:00
path.c
tools/perf: Turn strlcpy() into a __weak function
2013-10-09 08:48:49 +02:00
PERF-VERSION-GEN
perf tools: Fix version when building out of tree
2013-11-07 10:40:47 -03:00
perf_regs.c
perf tools: Cache register accesses for unwind processing
2014-06-12 16:53:19 +02:00
perf_regs.h
perf tools: Cache register accesses for unwind processing
2014-06-12 16:53:19 +02:00
pmu.c
perf pmu: Split perf_pmu__new_alias()
2015-06-23 18:21:30 -03:00
pmu.h
perf tools: Add term support for parse_events_error
2015-04-29 10:38:01 -03:00
pmu.l
perf tools: Add perf pmu object to access pmu format definition
2012-03-16 14:29:35 -03:00
pmu.y
perf tools: Fix build with bison 2.3 and older.
2013-02-14 16:12:34 -03:00
probe-event.c
perf probe: Fix failure to probe events on arm
2015-06-23 18:21:44 -03:00
probe-event.h
perf probe: Show the error reason comes from invalid DSO
2015-05-27 12:21:45 -03:00
probe-finder.c
perf tools: Reference count struct dso
2015-06-08 10:31:40 -03:00
probe-finder.h
perf probe: Introduce probe_conf global configs
2015-05-08 16:26:26 -03:00
pstack.c
perf tools: Introduce pstack_peek()
2015-05-05 18:13:22 -03:00
pstack.h
perf tools: Introduce pstack_peek()
2015-05-05 18:13:22 -03:00
python-ext-sources
tools: Copy lib/hweight.c from the kernel sources
2015-07-09 16:29:56 -03:00
python.c
perf tools: Add reference counting for thread_map object
2015-06-25 15:15:50 -03:00
quote.c
quote.h
rblist.c
perf util: Add findnew method to intlist
2013-10-14 10:28:48 -03:00
rblist.h
perf util: Add findnew method to intlist
2013-10-14 10:28:48 -03:00
record.c
perf tools: Add reference counting for cpu_map object
2015-06-25 15:15:50 -03:00
run-command.c
perf util: Replace strerror with strerror_r for thread-safety
2014-08-15 10:58:35 -03:00
run-command.h
session.c
perf tools: Add reference counting for cpu_map object
2015-06-25 15:15:50 -03:00
session.h
perf tools: Add AUX area tracing index
2015-05-04 19:48:47 -03:00
setup.py
tools lib api: Rename libapikfs.a to libapi.a
2015-02-12 17:55:18 -03:00
sigchain.c
sigchain.h
sort.c
perf report: Fix sort__sym_cmp to also compare end of symbol
2015-06-19 18:14:05 -03:00
sort.h
perf tools: Move TUI-specific fields out of map_symbol
2015-05-05 18:13:24 -03:00
srcline.c
perf: Fix building warning on ARM 32
2014-12-19 13:09:43 +01:00
stat-shadow.c
perf stat: Fix transaction lenght metrics
2015-07-28 12:05:04 -03:00
stat.c
perf stat: Introduce perf_evsel__alloc_stats function
2015-06-26 11:46:00 -03:00
stat.h
perf stat: Introduce --per-thread option
2015-06-26 12:05:04 -03:00
strbuf.c
perf tools: Use zfree to help detect use after free bugs
2013-12-27 17:08:19 -03:00
strbuf.h
strfilter.c
perf tools: Add strfilter__string to recover rules string
2015-05-04 12:43:54 -03:00
strfilter.h
perf tools: Add strfilter__string to recover rules string
2015-05-04 12:43:54 -03:00
string.c
Revert "perf tools: Default to cpu// for events v5"
2014-10-15 16:04:33 -03:00
strlist.c
perf tools: Fix build error due to zfree() cast
2014-01-15 15:10:04 -03:00
strlist.h
perf tools: Stop using 'self' in strlist
2013-01-25 12:49:28 -03:00
svghelper.c
perf tools: Add reference counting for cpu_map object
2015-06-25 15:15:50 -03:00
svghelper.h
perf timechart: Implement IO mode
2014-07-10 00:22:54 +02:00
symbol-elf.c
perf tools: Reference count struct dso
2015-06-08 10:31:40 -03:00
symbol-minimal.c
perf symbols: Save DSO loading errno to better report errors
2015-03-24 12:08:43 -03:00
symbol.c
perf symbols: Store if there is a filter in place
2015-07-13 08:21:57 -03:00
symbol.h
perf symbols: Store if there is a filter in place
2015-07-13 08:21:57 -03:00
target.c
perf target: Simplify handling of strerror_r return
2015-03-24 12:08:30 -03:00
target.h
perf target: Move the checking of which map function to call into function.
2013-12-04 13:46:37 -03:00
thread-stack.c
perf tools: Ensure thread-stack is flushed
2015-06-19 16:03:33 -03:00
thread-stack.h
perf tools: Ensure thread-stack is flushed
2015-06-19 16:03:33 -03:00
thread.c
perf tools: Avoid deadlock when map_groups are broken
2015-08-19 14:15:09 -03:00
thread.h
perf tools: Elliminate alignment holes
2015-05-18 10:17:33 -03:00
thread_map.c
perf thread_map: Fix the sizeof() calculation for map entries
2015-07-09 12:28:53 -03:00
thread_map.h
perf thrad_map: Add comm string into array
2015-06-26 11:07:01 -03:00
tool.h
perf tools: handle PERF_RECORD_LOST_SAMPLES
2015-06-07 16:09:06 +02:00
top.c
perf tools: Rename 'perf_record_opts' to 'record_opts
2013-12-19 14:43:45 -03:00
top.h
tools: Consolidate types.h
2014-05-01 21:22:39 +02:00
trace-event-info.c
perf tools: Move pr_* debug macros into debug object
2014-07-17 12:58:39 -03:00
trace-event-parse.c
perf tools: Assign default value for some pointers
2015-05-27 12:21:45 -03:00
trace-event-read.c
perf tools: Remove needless getopt.h includes
2014-07-17 12:59:00 -03:00
trace-event-scripting.c
perf scripting: No need to pass thread twice to the scripting callbacks
2015-04-02 13:18:41 -03:00
trace-event.c
tools lib traceevent: Make plugin unload function receive pevent
2014-01-15 15:10:40 -03:00
trace-event.h
perf scripting: No need to pass thread twice to the scripting callbacks
2015-04-02 13:18:41 -03:00
tsc.c
perf tools: Move rdtsc() function
2014-07-23 11:48:11 -03:00
tsc.h
perf tools: Move rdtsc() function
2014-07-23 11:48:11 -03:00
unwind-libdw.c
perf callchains: Use thread->mg->machine
2014-10-29 10:32:46 -02:00
unwind-libdw.h
perf tools: Add libdw DWARF post unwind support
2014-02-24 09:29:36 -03:00
unwind-libunwind.c
perf unwind: Fix a compile error
2015-06-16 10:40:03 -03:00
unwind.h
perf callchains: Use thread->mg->machine
2014-10-29 10:32:46 -02:00
usage.c
perf target: Introduce perf_target__parse_uid()
2012-05-07 16:46:48 -03:00
util.c
perf tools: Avoid possible race condition in copyfile()
2015-06-10 11:51:24 -03:00
util.h
perf tools: Introduce copyfile_offset() function
2015-05-18 10:17:35 -03:00
values.c
perf tools: Use zfree to help detect use after free bugs
2013-12-27 17:08:19 -03:00
values.h
tools: Consolidate types.h
2014-05-01 21:22:39 +02:00
vdso.c
perf tools: Fix lockup using 32-bit compat vdso
2015-07-07 11:05:08 -03:00
vdso.h
perf machine: Fix up vdso methods names
2015-05-29 12:43:44 -03:00
wrapper.c
perf tools: Use __maybe_used for unused variables
2012-09-11 12:19:15 -03:00
xyarray.c
perf tools: Introduce xyarray__reset function
2015-06-16 10:34:39 -03:00
xyarray.h
perf tools: Introduce xyarray__reset function
2015-06-16 10:34:39 -03:00
zlib.c
perf tools: Add gzip decompression support for kernel module
2014-11-05 10:11:26 -03:00