We Can Automatically Find Functional Regressions Too

Posted by Michael Larabel on June 21, 2010

Last October we reported on new capabilities within the Phoronix Test Suite that allowed performance regressions to be located within any code-base by leveraging our open-source testing framework with the git-bisect command to automatically traverse a tree in a binary manner until the Phoronix Test Suite spots the regression-causing commit. As an example we tracked down a regression in the mainline Linux kernel with the EXT4 file-system without any manual intervention. Now not only can we automatically track down any performance regressions, but the Phoronix Test Suite can also help you spot any functional regressions.

In testing out the very latest xf86-video-intel DDX driver code to look at how the UXA performance enhancements are working in the forthcoming 2.12 Intel X.Org driver release, I had installed the latest driver Git code (along with the updated libdrm) on the Samsung NC10 netbook with the Intel 945 integrated graphics. However, the X.Org Server failed to properly start and wouldn't get past displaying the cursor.

This led to the creation of a simple test profile that just used a pass-fail result type and updating the Phoronix Test Suite's auto-bisecting module to supporting these non-numeric results. Next I let the Phoronix Test Suite bisect the xf86-video-intel driver between the previous 2.11.0 release that worked fine on the NC10 and then the latest Git master code. A little while later, the commit introducing the problem was found.

Analyzing the problematic commit, a workaround the Intel driver Git master was devised. The new Intel 2D performance testing was then able to move forward and those results will be published in the next day or two. This functional regression auto-bisecting support will likely be pushed into Phoronix Test Suite 2.8 so others can benefit from these capabilities.

For anyone experiencing a similar problem with the Intel driver Git code, see this FreeDesktop.org bug report that was created once the Phoronix Test Suite tracked down the problem.

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Intel Haswell HD Graphics 4600 vs. AMD Radeon Graphics On Linux
  2. Intel Haswell HD Graphics 4600 Performance On Ubuntu Linux
  3. Intel Core i7 4770K "Haswell" Benchmarks On Ubuntu Linux
  4. The First Experience Of Intel Haswell On Linux
Latest Software Articles
  1. Optimized Binaries Provide Great Benefits For Intel Haswell
  2. 11-Way Linux, BSD Platform Comparison
  3. SNA Acceleration Works Great For Intel Core i7 Haswell
  4. The Linux Evolution For Intel Haswell's Performance
Latest Linux News
  1. KDE's KWin Made Lots Of Progress In 4.11
  2. Ubuntu Announces Carrier Advisory Group
  3. Qt 5.1 Release Candidate 1 Has Arrived
  4. In-Fighting Continues Over Mir On Non-Unity Ubuntu
  5. Subversion 1.8 Presents New Features
  6. LLVM 3.3 Officially Released
  7. LLVM/Clang Now Uses Loop Vectorizer At New Levels
  8. Intel GPU Driver Tries To Rip Out FBDEV Support
  9. Coreboot Doing AMD USB 3.0, Q35 QEMU Emulation
  10. VP9 Codec Now Enabled By Default In Chrome
  11. openSUSE 13.1 M2 Plays On PulseAudio 4.0
Latest Forum Talk
  1. Planetary Annihilation Plans To Come To Linux
  2. Benchmarks Of NVIDIA's New Linux GPU Driver
  3. Intel GPU Driver Tries To Rip Out FBDEV Support
  4. In-Fighting Continues Over Mir On Non-Unity Ubuntu
  5. Commodity Tips
  6. I got robbed at gunpoint today....
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite