Messages in this thread | | | From | Arnaldo Carvalho de Melo <> | Subject | [GIT PULL 00/14] perf tools polling fixes | Date | Thu, 25 Sep 2014 18:57:37 -0300 |
| |
Hi Ingo,
Please consider pulling into tip/perf/core.
Best Regards,
- Arnaldo
The following changes since commit 521e8bac67a71a6544274f39d5c61473e0e54ac0:
perf/x86/intel/uncore: Update support for client uncore IMC PMU (2014-09-24 14:48:25 +0200)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-fdarray-for-mingo
for you to fetch changes up to 46fb3c21d20415dd2693570c33d0ea6eb8745e04:
perf trace: Filter out POLLHUP'ed file descriptors (2014-09-25 16:46:56 -0300)
---------------------------------------------------------------- Infrastructure:
We were not handling POLLHUP notifications for event file descriptors.
Fix it by filtering entries in the events file descriptor array after poll returns, refcounting mmaps so that when the last fd pointing to a perf mmap goes away we do the unmap.
User visible:
Now 'record' and 'trace' properly exit when a target thread exits.
Arnaldo Carvalho de Melo (14): perf evlist: Introduce perf_evlist__filter_pollfd method perf tests: Add test for perf_evlist__filter_pollfd() perf evlist: Monitor POLLERR and POLLHUP events too perf evlist: We need to poll all event file descriptors perf evlist: Allow growing pollfd on add method perf tests: Add pollfd growing test perf kvm stat live: Use perf_evlist__add_pollfd() instead of local equivalent perf evlist: Introduce poll method for common code idiom tools lib api: Adopt fdarray class from perf's evlist perf evlist: Refcount mmaps tools lib fd array: Allow associating an integer cookie with each entry perf evlist: Unmap when all refcounts to fd are gone and events drained perf record: Filter out POLLHUP'ed file descriptors perf trace: Filter out POLLHUP'ed file descriptors
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---------------------------------------------------------------- Arnaldo Carvalho de Melo (14): perf evlist: Introduce perf_evlist__filter_pollfd method perf tests: Add test for perf_evlist__filter_pollfd() perf evlist: Monitor POLLERR and POLLHUP events too perf evlist: We need to poll all event file descriptors perf evlist: Allow growing pollfd on add method perf tests: Add pollfd growing test perf kvm stat live: Use perf_evlist__add_pollfd() instead of local equivalent perf evlist: Introduce poll method for common code idiom tools lib api: Adopt fdarray class from perf's evlist perf evlist: Refcount mmaps tools lib fd array: Allow associating an integer cookie with each entry perf evlist: Unmap when all refcounts to fd are gone and events drained perf record: Filter out POLLHUP'ed file descriptors perf trace: Filter out POLLHUP'ed file descriptors
tools/lib/api/Makefile | 7 +- tools/lib/api/fd/array.c | 127 ++++++++++++++++++++++ tools/lib/api/fd/array.h | 46 ++++++++ tools/perf/Makefile.perf | 3 +- tools/perf/builtin-kvm.c | 24 ++--- tools/perf/builtin-record.c | 9 +- tools/perf/builtin-top.c | 4 +- tools/perf/builtin-trace.c | 7 +- tools/perf/tests/builtin-test.c | 8 ++ tools/perf/tests/fdarray.c | 174 ++++++++++++++++++++++++++++++ tools/perf/tests/open-syscall-tp-fields.c | 2 +- tools/perf/tests/perf-record.c | 2 +- tools/perf/tests/task-exit.c | 2 +- tools/perf/tests/tests.h | 2 + tools/perf/util/evlist.c | 105 +++++++++++++++--- tools/perf/util/evlist.h | 16 ++- tools/perf/util/python.c | 6 +- 17 files changed, 501 insertions(+), 43 deletions(-) create mode 100644 tools/lib/api/fd/array.c create mode 100644 tools/lib/api/fd/array.h create mode 100644 tools/perf/tests/fdarray.c
| |