perf evsel: Allow to ignore missing pid
authorJiri Olsa <jolsa@redhat.com>
Tue, 13 Dec 2016 07:46:22 +0000 (08:46 +0100)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Thu, 15 Dec 2016 19:25:46 +0000 (16:25 -0300)
commita359c17a7e1a9c99384499cf7b43d80867080789
treebcdd0598538751a35f97e9ce3b7ff1bb7edbc231
parent38af91f01de0e160c17ae380acb5bab5d51066f4
perf evsel: Allow to ignore missing pid

Adding perf_evsel::ignore_missing_cpu_thread bool.

When set true, it allows perf to ignore error of missing pid of perf
event syscall.

We remove missing thread id from the thread_map, so the rest of the
processing like ioctl and mmap won't get disturbed with -1 fd.

The reason for supporting this is to ease up monitoring group of pids,
that 'disappear' before perf opens their event. This currently leads
perf to report error and exit and makes perf record's -u option unusable
under certain setup.

With this change we will allow this race and ignore such failure with
following warning:

  WARNING: Ignored open failure for pid 8605

Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/20161213074622.GA3084@krava
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/perf.h
tools/perf/util/evsel.c
tools/perf/util/evsel.h