Add struct perf_event_attr members to support pause and resume of AUX area
tracing.

Signed-off-by: Adrian Hunter <adrian.hun...@intel.com>
Acked-by: Ian Rogers <irog...@google.com>
Reviewed-by: Andi Kleen <a...@linux.intel.com>
---
 tools/include/uapi/linux/perf_event.h     | 11 ++++++++++-
 tools/perf/util/perf_event_attr_fprintf.c |  3 +++
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/tools/include/uapi/linux/perf_event.h 
b/tools/include/uapi/linux/perf_event.h
index 4842c36fdf80..0524d541d4e3 100644
--- a/tools/include/uapi/linux/perf_event.h
+++ b/tools/include/uapi/linux/perf_event.h
@@ -511,7 +511,16 @@ struct perf_event_attr {
        __u16   sample_max_stack;
        __u16   __reserved_2;
        __u32   aux_sample_size;
-       __u32   __reserved_3;
+
+       union {
+               __u32   aux_action;
+               struct {
+                       __u32   aux_start_paused :  1, /* start AUX area 
tracing paused */
+                               aux_pause        :  1, /* on overflow, pause 
AUX area tracing */
+                               aux_resume       :  1, /* on overflow, resume 
AUX area tracing */
+                               __reserved_3     : 29;
+               };
+       };
 
        /*
         * User provided data if sigtrap=1, passed back to user via
diff --git a/tools/perf/util/perf_event_attr_fprintf.c 
b/tools/perf/util/perf_event_attr_fprintf.c
index 59fbbba79697..29db0aef9a74 100644
--- a/tools/perf/util/perf_event_attr_fprintf.c
+++ b/tools/perf/util/perf_event_attr_fprintf.c
@@ -335,6 +335,9 @@ int perf_event_attr__fprintf(FILE *fp, struct 
perf_event_attr *attr,
        PRINT_ATTRf(sample_max_stack, p_unsigned);
        PRINT_ATTRf(aux_sample_size, p_unsigned);
        PRINT_ATTRf(sig_data, p_unsigned);
+       PRINT_ATTRf(aux_start_paused, p_unsigned);
+       PRINT_ATTRf(aux_pause, p_unsigned);
+       PRINT_ATTRf(aux_resume, p_unsigned);
 
        return ret;
 }
-- 
2.43.0


Reply via email to