Mesa (main): intel/perf: Destination array calculation into function

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Mar 7 21:33:54 UTC 2022


Module: Mesa
Branch: main
Commit: 8860ff33105bc756b077a3fefaced892cd867dc8
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8860ff33105bc756b077a3fefaced892cd867dc8

Author: Matt Turner <mattst88 at gmail.com>
Date:   Thu Mar  3 15:30:37 2022 -0800

intel/perf: Destination array calculation into function

Cuts 119 KiB from iris_dri.so and libvulkan_intel.so.

   text    data     bss     dec     hex filename
 917511       0       0  917511   e0007 meson-generated_.._intel_perf_metrics.c.o (before)
 796986       0       0  796986   c293a meson-generated_.._intel_perf_metrics.c.o (after)

   text    data     bss     dec     hex filename
14130948 365708  210004 14706660 e067e4 iris_dri.so (before)
14009332 365708  210004 14585044 de8cd4 iris_dri.so (after)

   text    data     bss     dec     hex filename
8124225  214264   22820 8361309  7f955d libvulkan_intel.so (before)
8002609  214264   22820 8239693  7dba4d libvulkan_intel.so (after)

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15237>

---

 src/intel/perf/gen_perf.py | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/intel/perf/gen_perf.py b/src/intel/perf/gen_perf.py
index 0666f629163..bdd1de27f1b 100644
--- a/src/intel/perf/gen_perf.py
+++ b/src/intel/perf/gen_perf.py
@@ -466,8 +466,7 @@ def output_counter_report(set, counter, counter_to_idx, current_offset):
 
     current_offset = pot_align(current_offset, sizeof(c_type))
 
-    c("counter = &query->counters[query->n_counters++];\n")
-    c("intel_perf_query_add_counter(counter, " + idx + ", " +
+    c("intel_perf_query_add_counter(query, " + idx + ", " +
         str(current_offset) + ", " +
         set.max_values[counter.get('symbol_name')] + ", (oa_counter_read_func)" +
         set.read_funcs[counter.get('symbol_name')] + ");\n")
@@ -812,10 +811,11 @@ def main():
                                                  const struct intel_perf_query_info *query,
                                                  const struct intel_perf_query_result *results);
         static void ATTRIBUTE_NOINLINE
-        intel_perf_query_add_counter(struct intel_perf_query_counter *dest,
+        intel_perf_query_add_counter(struct intel_perf_query_info *query,
                                      int counter_idx, size_t offset,
                                      uint64_t raw_max, oa_counter_read_func oa_counter_read_uint64)
         {
+           struct intel_perf_query_counter *dest = &query->counters[query->n_counters++];
            const struct intel_perf_query_counter_data *counter = &counters[counter_idx];
 
            dest->name = &name[counter->name_idx];
@@ -870,7 +870,8 @@ def main():
                 offset = output_counter_report(set, counter, counter_to_idx, offset)
 
 
-            c("\nquery->data_size = counter->offset + intel_perf_query_counter_get_size(counter);\n")
+            c("\ncounter = &query->counters[query->n_counters - 1];\n")
+            c("query->data_size = counter->offset + intel_perf_query_counter_get_size(counter);\n")
 
             c_outdent(3)
             c("}");



More information about the mesa-commit mailing list