Intel® Graphics Performance Analyzers (Intel® GPA)
Improve your game's performance by quickly specifying problem areas

metrics collection for Haswell on Linux

o_o_
Beginner
470 Views

Hi,

According to https://software.intel.com/en-us/articles/intel-gpa-release-notes?language=de#support it is expected for metrics/profiling info not to show up using a Haswell chip on Linux inside the frame analyzer.

Is it planned for the next release ? If it is, is there any approximative ETA ?

Thanks

0 Kudos
5 Replies
Ryan_G_Intel
Employee
470 Views

Hello o o,

Unfortunately, due to outside issues we are not able to support metric/profiling info on Linux machines.

0 Kudos
o_o_
Beginner
470 Views

Hi Ryan,

Thanks for your answer. Would you mind going into more details about those "outside issues" ?

I don't know exactly which facilities does GPA uses for metric collection on windows, but I'm assuming it's basically sampling Observability counters ( https://01.org/sites/default/files/documentation/observability_performance_counters_haswell.pdf ).

 If it's using combination of A (aggregated) and B (custom) counters outputted by the MI_REPORT_PERF_COUNT ring command, I don't see any reason not to allow that on linux (except of course prioritization of engineering efforts).

In fact, A-counters are already available to userspace using either INTEL_perf_query or AMD_perf_monitor through the i965 driver in mesa. B counters are a little trickier since the registers that need programming (CEC-*) are privileged and the hardware (or the kernel command parser) rejects userland batches that try to load them.

This could be worked around by a simple (possibly unsafe) flag for the i915 kernel module to allow programming those registers in safe batches (in a similar way that it authorizes access to the privileged OACONTROL register). In fact, I just quickly compiled a version of i915 that let every batch go through with the trusted bit set, and I'm able to program and sample custom event counters.

Is there something I overlooked there, that is not possible to do on linux ?

Thanks.

0 Kudos
Ryan_G_Intel
Employee
470 Views

Hi o o,

Unfortunately, I can not elaborate much on 'outside issues' other than to say it is due to driver constraints.

0 Kudos
o_o_
Beginner
470 Views

Hi,

Could you direct me to a channel where I could get more information about this ?

I find it unfortunate that this feature is not available, especially considering that the GPU drivers, both kernel and userland are open source (and good quality) on linux platforms. Given that integrated GPUs are the one that require the most attention wrt performance, we would find it extremely disappointing if we could not give the same level of care for our game experience on linux platforms.

To be honest, if all that's missing is a bunch of unsafe "you get what you deserved" driver hooks (see my previous post), we would be even willing to consider contributing them in medium-term. If the issue is more complex then I'd love to know why.

Of course, even easier would be for GPA itself to be open source but I guess that's not happening ;-)

Cheers

0 Kudos
Ryan_G_Intel
Employee
470 Views

Hi o o,

You chose the correct channel to get information about GPA on Linux.  Unfortunately, I am not able to go into further details about this decision.

0 Kudos
Reply