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

Adrian Hunter posted 4 patches 2 years ago
There is a newer version of this series
arch/x86/events/intel/pt.c                       | 63 ++++++++++++++++++++-
arch/x86/events/intel/pt.h                       |  4 ++
drivers/hwtracing/coresight/coresight-etm-perf.c | 29 ++++++++--
include/linux/perf_event.h                       | 15 +++++
include/uapi/linux/perf_event.h                  | 11 +++-
kernel/events/core.c                             | 72 +++++++++++++++++++++++-
kernel/events/internal.h                         |  1 +
tools/include/uapi/linux/perf_event.h            | 11 +++-
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 +
15 files changed, 255 insertions(+), 12 deletions(-)
[PATCH RFC V2 0/4] perf/core: Add ability for an event to "pause" or "resume" AUX area tracing
Posted by Adrian Hunter 2 years ago
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.


Changes in RFC V2:

      Use ->stop() / ->start() instead of ->pause_resume()
      Move aux_start_paused bit into aux_output_cfg
      Tighten up when Intel PT pause / resume is allowed
      Add an example of how it might work for CoreSight


Adrian Hunter (4):
      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
      coresight: Have a stab at support for pause / resume

 arch/x86/events/intel/pt.c                       | 63 ++++++++++++++++++++-
 arch/x86/events/intel/pt.h                       |  4 ++
 drivers/hwtracing/coresight/coresight-etm-perf.c | 29 ++++++++--
 include/linux/perf_event.h                       | 15 +++++
 include/uapi/linux/perf_event.h                  | 11 +++-
 kernel/events/core.c                             | 72 +++++++++++++++++++++++-
 kernel/events/internal.h                         |  1 +
 tools/include/uapi/linux/perf_event.h            | 11 +++-
 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 +
 15 files changed, 255 insertions(+), 12 deletions(-)


Regards
Adrian
Re: [PATCH RFC V2 0/4] perf/core: Add ability for an event to "pause" or "resume" AUX area tracing
Posted by Adrian Hunter 1 year, 12 months ago
On 8/12/23 19:24, Adrian Hunter 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.
> 
> 
> Changes in RFC V2:
> 
>       Use ->stop() / ->start() instead of ->pause_resume()
>       Move aux_start_paused bit into aux_output_cfg
>       Tighten up when Intel PT pause / resume is allowed
>       Add an example of how it might work for CoreSight

Any comments?

> 
> 
> Adrian Hunter (4):
>       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
>       coresight: Have a stab at support for pause / resume
> 
>  arch/x86/events/intel/pt.c                       | 63 ++++++++++++++++++++-
>  arch/x86/events/intel/pt.h                       |  4 ++
>  drivers/hwtracing/coresight/coresight-etm-perf.c | 29 ++++++++--
>  include/linux/perf_event.h                       | 15 +++++
>  include/uapi/linux/perf_event.h                  | 11 +++-
>  kernel/events/core.c                             | 72 +++++++++++++++++++++++-
>  kernel/events/internal.h                         |  1 +
>  tools/include/uapi/linux/perf_event.h            | 11 +++-
>  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 +
>  15 files changed, 255 insertions(+), 12 deletions(-)
> 
> 
> Regards
> Adrian