[RFC,0/3] perf/core: Add ability for an event to "pause" or "resume" AUX area tracing

Message ID 20231123121851.10826-1-adrian.hunter@intel.com
Headers
Series perf/core: Add ability for an event to "pause" or "resume" AUX area tracing |

Message

Adrian Hunter Nov. 23, 2023, 12:18 p.m. UTC
  Hi

Hardware traces, such as instruction traces, can produce a vast amount of
trace data, so being able to reduce tracing to more specific circumstances
can be useful.

The ability to pause or resume tracing when another event happens, can do
that.

These patches add such a facilty and show how it would work for Intel
Processor Trace.

Maintainers of other AUX area tracing implementations are requested to
consider if this is something they might employ and then whether or not
the ABI would work for them.

Changes to perf tools are not fleshed out yet.


Adrian Hunter (3):
      perf/core: Add aux_pause, aux_resume, aux_start_paused
      perf/x86/intel/pt: Add support for pause_resume()
      perf tools: Add support for AUX area pause_resume()

 arch/x86/events/intel/pt.c                | 12 ++++++
 include/linux/perf_event.h                |  9 +++++
 include/uapi/linux/perf_event.h           | 13 ++++++-
 kernel/events/core.c                      | 65 +++++++++++++++++++++++++++++--
 kernel/events/internal.h                  |  1 +
 tools/include/uapi/linux/perf_event.h     | 13 ++++++-
 tools/perf/util/auxtrace.c                |  4 ++
 tools/perf/util/evsel.c                   |  9 +++++
 tools/perf/util/evsel_config.h            |  6 +++
 tools/perf/util/parse-events.c            | 33 ++++++++++++++++
 tools/perf/util/parse-events.h            |  3 ++
 tools/perf/util/parse-events.l            |  3 ++
 tools/perf/util/perf_event_attr_fprintf.c |  3 ++
 13 files changed, 167 insertions(+), 7 deletions(-)


Regards
Adrian
  

Comments

Ian Rogers Nov. 28, 2023, 7:52 p.m. UTC | #1
On Thu, Nov 23, 2023 at 4:19 AM Adrian Hunter <adrian.hunter@intel.com> wrote:
>
> Hi
>
> Hardware traces, such as instruction traces, can produce a vast amount of
> trace data, so being able to reduce tracing to more specific circumstances
> can be useful.
>
> The ability to pause or resume tracing when another event happens, can do
> that.
>
> These patches add such a facilty and show how it would work for Intel
> Processor Trace.
>
> Maintainers of other AUX area tracing implementations are requested to
> consider if this is something they might employ and then whether or not
> the ABI would work for them.
>
> Changes to perf tools are not fleshed out yet.

This looks good to me but the perf tools parsing changes I'm not sure
on. It would be nice to have a test case, likely a shell test or
change to the intel-pt shell test, to show how they work.

Thanks,
Ian

> Adrian Hunter (3):
>       perf/core: Add aux_pause, aux_resume, aux_start_paused
>       perf/x86/intel/pt: Add support for pause_resume()
>       perf tools: Add support for AUX area pause_resume()
>
>  arch/x86/events/intel/pt.c                | 12 ++++++
>  include/linux/perf_event.h                |  9 +++++
>  include/uapi/linux/perf_event.h           | 13 ++++++-
>  kernel/events/core.c                      | 65 +++++++++++++++++++++++++++++--
>  kernel/events/internal.h                  |  1 +
>  tools/include/uapi/linux/perf_event.h     | 13 ++++++-
>  tools/perf/util/auxtrace.c                |  4 ++
>  tools/perf/util/evsel.c                   |  9 +++++
>  tools/perf/util/evsel_config.h            |  6 +++
>  tools/perf/util/parse-events.c            | 33 ++++++++++++++++
>  tools/perf/util/parse-events.h            |  3 ++
>  tools/perf/util/parse-events.l            |  3 ++
>  tools/perf/util/perf_event_attr_fprintf.c |  3 ++
>  13 files changed, 167 insertions(+), 7 deletions(-)
>
>
> Regards
> Adrian