linux/tools/perf
Adrian Hunter a032ad87aa perf record: Fix done_fd wakeup event
evlist__add_wakeup_eventfd() calls perf_evlist__add_pollfd() to add a
non-perf-event to the evlist pollfds. Since commit 415ccb58f6
("perf record: Introduce thread specific data array") that doesn't work
because evlist pollfs is not polled and done_fd is not duplicated into
thread-data.

Patch "perf record: Fix way of handling non-perf-event pollfds" added a new
approach that ensures file descriptors like done_fd are handled correctly
by flagging them as fdarray_flag__non_perf_event.

Fix by flagging done_fd as fdarray_flag__non_perf_event.

Example:

 Before:

  $ sleep 3 & perf record -vv -p $!
  ...
  thread_data[0x55f44bd34140]: pollfd[0] <- event_fd=5
  thread_data[0x55f44bd34140]: pollfd[1] <- event_fd=6
  thread_data[0x55f44bd34140]: pollfd[2] <- event_fd=7
  thread_data[0x55f44bd34140]: pollfd[3] <- event_fd=8
  thread_data[0x55f44bd34140]: pollfd[4] <- event_fd=9
  thread_data[0x55f44bd34140]: pollfd[5] <- event_fd=10
  thread_data[0x55f44bd34140]: pollfd[6] <- event_fd=11
  thread_data[0x55f44bd34140]: pollfd[7] <- event_fd=12
  ...

 After:

  $ sleep 3 & perf record -vv -p $!
  ...
  thread_data[0x55a8ded89140]: pollfd[0] <- event_fd=5
  thread_data[0x55a8ded89140]: pollfd[1] <- event_fd=6
  thread_data[0x55a8ded89140]: pollfd[2] <- event_fd=7
  thread_data[0x55a8ded89140]: pollfd[3] <- event_fd=8
  thread_data[0x55a8ded89140]: pollfd[4] <- event_fd=9
  thread_data[0x55a8ded89140]: pollfd[5] <- event_fd=10
  thread_data[0x55a8ded89140]: pollfd[6] <- event_fd=11
  thread_data[0x55a8ded89140]: pollfd[7] <- event_fd=12
  thread_data[0x55a8ded89140]: pollfd[8] <- non_perf_event fd=4
  ...

This patch depends on "perf record: Fix way of handling non-perf-event
pollfds".

Fixes: 415ccb58f6 ("perf record: Introduce thread specific data array")
Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Acked-by: Ian Rogers <irogers@google.com>
Cc: Alexey Bayduraev <alexey.v.bayduraev@linux.intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Link: https://lore.kernel.org/r/20220824072814.16422-3-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2022-10-04 08:55:19 -03:00
..
arch perf pmu-events: Hide the pmu_events 2022-08-13 15:02:08 -03:00
bench
dlfilters perf dlfilter dlfilter-show-cycles: Fix types for print format 2022-09-08 12:17:45 -03:00
Documentation perf inject: Add a command line option to specify build ids. 2022-10-04 08:55:19 -03:00
examples/bpf
include
jvmti
pmu-events perf vendor events: Update events for snowridgex 2022-08-13 15:08:31 -03:00
python
scripts
tests perf tests mmap-basic: Remove unused variable to address clang 15 warning 2022-09-29 15:08:51 -03:00
trace perf beauty: Update copy of linux/socket.h with the kernel sources 2022-08-19 15:30:33 -03:00
ui
util perf record: Fix done_fd wakeup event 2022-10-04 08:55:19 -03:00
.gitignore
Build
builtin-annotate.c
builtin-bench.c
builtin-buildid-cache.c
builtin-buildid-list.c
builtin-c2c.c perf c2c: Prevent potential memory leak in c2c_he_zalloc() 2022-09-06 09:45:23 -03:00
builtin-config.c
builtin-daemon.c
builtin-data.c
builtin-diff.c
builtin-evlist.c
builtin-ftrace.c
builtin-help.c
builtin-inject.c perf inject: Add a command line option to specify build ids. 2022-10-04 08:55:19 -03:00
builtin-kallsyms.c
builtin-kmem.c
builtin-kvm.c
builtin-kwork.c
builtin-list.c
builtin-lock.c perf lock: Remove redundant word 'contention' in help message 2022-09-08 15:23:42 -03:00
builtin-mem.c
builtin-probe.c
builtin-record.c perf record: Fix way of handling non-perf-event pollfds 2022-10-04 08:55:19 -03:00
builtin-report.c
builtin-sched.c perf sched: Fix memory leaks in __cmd_record detected with -fsanitize=address 2022-08-27 11:55:17 -03:00
builtin-script.c perf script: Fix Cannot print 'iregs' field for hybrid systems 2022-09-08 15:27:39 -03:00
builtin-stat.c perf stat: Fix L2 Topdown metrics disappear for raw events 2022-09-02 13:52:18 -03:00
builtin-timechart.c
builtin-top.c
builtin-trace.c
builtin-version.c
builtin.h
check-headers.sh
command-list.txt
CREDITS
design.txt
Makefile
Makefile.config tools build: Increment room for feature name in feature detection output 2022-10-04 08:55:19 -03:00
Makefile.perf perf tools: Don't install data files with x permissions 2022-09-08 15:55:56 -03:00
MANIFEST
perf-archive.sh
perf-completion.sh
perf-iostat.sh
perf-read-vdso.c
perf-sys.h
perf.c
perf.h