[PATCH 0/5] perf record: Allow multiple recording time ranges

From: Adrian Hunter
Date: Wed Aug 24 2022 - 03:28:45 EST


Hi

This patch set extends perf record -D/--delay option to accept time ranges
for when events are enabled, for instance:

perf record -e intel_pt// -D 10-20,30-40

to record 10ms to 20ms into the trace and 30ms to 40ms. Refer patch 5 for
more details.

This ran into an issue with the handling of polling file descriptors.
Essentially, calling perf_evlist__add_pollfd() would not actually result
in the file descriptor being polled. Patches 1, 2 and 3 deal with that.

Patch 4 deals with the issue that when disabling events, we actually do not
want to disable events collecting sideband information.

Patch 5, the last patch, actually makes the desired enhancement to
perf record.


Adrian Hunter (5):
perf record: Fix way of handling non-perf-event pollfds
perf record: Fix done_fd wakeup event
perf record: Change evlist->ctl_fd to use fdarray_flag__non_perf_event
perf evlist: Add evlist__{en/dis}able_non_dummy()
perf record: Allow multiple recording time ranges

tools/lib/api/fd/array.h | 5 +-
tools/perf/Documentation/perf-record.txt | 6 +-
tools/perf/builtin-record.c | 117 ++++++++++++--
tools/perf/util/evlist.c | 270 +++++++++++++++++++++++++++++--
tools/perf/util/evlist.h | 12 +-
5 files changed, 374 insertions(+), 36 deletions(-)


Regards
Adrian