intel/perf: fix EuThreadsCount value in performance equations
authorLionel Landwerlin <lionel.g.landwerlin@intel.com>
Wed, 5 Jun 2019 08:49:06 +0000 (11:49 +0300)
committerLionel Landwerlin <lionel.g.landwerlin@intel.com>
Wed, 5 Jun 2019 19:41:01 +0000 (22:41 +0300)
EuThreadsCount is supposed to be the number of threads per EU, not the
total number of threads in the whole device.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 1fc7b951278428 ("i965: Add Gen8+ INTEL_performance_query support")
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/intel/perf/gen_perf.c

index 66497e457d95e0ea0bd87282057908109e532550..cd440f7690d3429bab5877877968f5e39e500c4a 100644 (file)
@@ -298,8 +298,7 @@ compute_topology_builtins(struct gen_perf *perf,
    for (int i = 0; i < sizeof(devinfo->eu_masks); i++)
       perf->sys_vars.n_eus += __builtin_popcount(devinfo->eu_masks[i]);
 
-   perf->sys_vars.eu_threads_count =
-      perf->sys_vars.n_eus * devinfo->num_thread_per_eu;
+   perf->sys_vars.eu_threads_count = devinfo->num_thread_per_eu;
 
    /* The subslice mask builtin contains bits for all slices. Prior to Gen11
     * it had groups of 3bits for each slice, on Gen11 it's 8bits for each