Finding OpenGL Driver Bottlenecks With OProfile + PTS

Timothy Arceri, the open-source developer that got involved with Mesa driver development via crowd-funding work on Mesa OpenGL extensions multiple times, has done some other interesting work outside of his crowd-funding campaigns. Over the past few days, Arceri has been playing around integrating an OProfile module for the Phoronix Test Suite.
The developer expressed an idea of "it would be great if profiling was built into the Phoronix Test Suite that way you could analyse the outputs of both tools to do things like look at what was executing when the frame-rates dropped and what percentage of time was spent in those code paths at that point in time."
After some guidance within the forums, he ended up writing an oprofile module to the Phoronix Test Suite for automatically running the open-source system profiler while running our benchmarks. As with any Phoronix Test Suite module, it works universally across all available tests hosted by OpenBenchmarking.org and not dependent upon any test profile hacking or other modifications. Thus this work is not only of relevance to OpenGL driver developers but to any other developers wishing to more closely profile their workloads during benchmarking.
Timothy has already announced his oprofile module to Mesa developers for possible use in trying to find bottlenecks within the OpenGL driver for future areas for optimization. Right now his code is within a separate Git repository but as soon as the code is in good shape I will be merging it into the upstream Phoronix Test Suite -- hopefully in time for the Phoronix Test Suite 5.2-Khanino release scheduled to happen in early June!
This automated system profiling paired with the Phoronix Test Suite is similar to the work I've toyed with in the past via the "Karsk" module for automated profiling with the Phoronix Test Suite -- four years ago playing around with the Sysprof profiler.
Have any other feature requests for the Phoronix Test Suite? Contributions are welcome via Phoronix-Test-Suite on GitHub. Sponsorship, custom engineering engagements, and other commercial support for our cross-platform, open-source benchmarking software is available by contacting Phoronix Media.
9 Comments