From 8860ff33105bc756b077a3fefaced892cd867dc8 Mon Sep 17 00:00:00 2001 From: Matt Turner Date: Thu, 3 Mar 2022 15:30:37 -0800 Subject: [PATCH] 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 Part-of: --- 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 0666f62..bdd1de2 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("}"); -- 2.7.4