Introduce arch_perf_sample__fprintf_synth_evt to add support for
printing arch specific synth event details. The process_event()
function in "builtin-script.c" invokes perf_sample__fprintf_synth() for
displaying PERF_TYPE_SYNTH type events.

   if (attr->type == PERF_TYPE_SYNTH && PRINT_FIELD(SYNTH))
        perf_sample__fprintf_synth(sample, evsel, fp);

perf_sample__fprintf_synth() process the sample depending on the value
in evsel->core.attr.config . Currently all the arch specific callbacks
perf_sample__fprintf_synth* are part of "builtin-script.c" itself.
Example: perf_sample__fprintf_synth_ptwrite,
perf_sample__fprintf_synth_mwait etc. This will need adding arch
specific details in builtin-script.c for any new perf_synth_id events.

Introduce arch_perf_sample__fprintf_synth_evt() and invoke this as
default callback for perf_sample__fprintf_synth(). This way, arch
specific code can handle processing the details.

Signed-off-by: Athira Rajeev <atraj...@linux.ibm.com>
---
 tools/perf/builtin-script.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/tools/perf/builtin-script.c b/tools/perf/builtin-script.c
index d9fbdcf72f25..eff584735980 100644
--- a/tools/perf/builtin-script.c
+++ b/tools/perf/builtin-script.c
@@ -2003,6 +2003,12 @@ static int perf_sample__fprintf_synth_iflag_chg(struct 
perf_sample *sample, FILE
        return len + perf_sample__fprintf_pt_spacing(len, fp);
 }
 
+static void arch_perf_sample__fprintf_synth_evt(struct perf_sample *data 
__maybe_unused,
+                FILE *fp __maybe_unused, u64 config __maybe_unused)
+{
+       return;
+}
+
 static int perf_sample__fprintf_synth(struct perf_sample *sample,
                                      struct evsel *evsel, FILE *fp)
 {
@@ -2026,6 +2032,7 @@ static int perf_sample__fprintf_synth(struct perf_sample 
*sample,
        case PERF_SYNTH_INTEL_IFLAG_CHG:
                return perf_sample__fprintf_synth_iflag_chg(sample, fp);
        default:
+               arch_perf_sample__fprintf_synth_evt(sample, fp, 
evsel->core.attr.config);
                break;
        }
 
-- 
2.47.1


Reply via email to