perf tools: Make fork event processing more resilient
authorAdrian Hunter <adrian.hunter@intel.com>
Wed, 19 Aug 2015 14:29:20 +0000 (17:29 +0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 19 Aug 2015 17:15:25 +0000 (14:15 -0300)
commit5cb73340d92a716fd2776700742c3558206ae298
treed0a04e74f6ae50c222f84bfd87aaa45d2391643e
parent0d7e7acc47133e82911e24758178815cfee309e9
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>
tools/perf/util/machine.c