1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking.org

Autonomously Finding Performance Regressions In The Linux Kernel

Michael Larabel

Published on 22 October 2009
Written by Michael Larabel
Page 1 of 2 - 44 Comments

Last weekend a few Phoronix benchmarks were underway of the Linux 2.6.32-rc5 kernel when a very significant performance regression was spotted. This regression caused the PostgreSQL server to run at about 18% of the performance found in earlier kernel releases. Long story short, in tracking down this performance regression we have finally devised a way to autonomously locate performance regressions within the Linux kernel and potentially any Git-based project for that matter. Here are a few details.

For some background information on the test that led to this work, the PostgreSQL performance under the Linux 2.6.32-rc1 through the Linux 2.6.32-rc5 (and still in Git master) is in shambles when compared to earlier kernels (tested Linux 2.6.30 and 2.6.31 for comparison). This regression was found using the same kernel configuration with the default options on a clean Ubuntu 9.10 installation. To ensure this wasn't an isolated incident, first this regression was confirmed on an entirely different system -- a dual AMD Opteron system compared to an Intel Atom "nettop" system.

Normally these benchmarks would end up being published on Phoronix as-is and left up to other interested users or developers to track down the problem due to our limited resources and most of this work being done by a lone individual. With the Phoronix Test Suite maturing though, a realization was made. For months it has been a goal to essentially build a Phoronix Test Suite module that would layer our performance profiling / benchmarking software directly atop Git and its git-bisect command. With the Phoronix Test Suite 2.2 "Bardu" work -- and the motivation to track down this significant drop in disk performance -- this was now quite possible with just a few hundred lines of code to create the module that ties the components together.

To cut to the chase, to be introduced with Phoronix Test Suite 2.2 Beta 1 next week will be this module that leverages the Phoronix Test Suite and Git together to create one powerful testing pair. The bisect module in the Phoronix Test Suite makes it possible to track down the triggering chance for any type of regression that can be tested by the Phoronix Test Suite. With the extensible Phoronix Test Suite architecture, you can write a test profile for just about any part of the system, if the included 110+ tests and 40+ test suites do not cover a problem that's encountered.

All that this PTS module needs to know is the starting and end points that return a different state, an accessible repository (Git, currently) to be tested, a Phoronix Test Suit result file that illustrates a performance regression, and an external build script to be written that automatically builds and installs the said code. With that information, the Phoronix Test Suite and the bisect module are able to autonomously locate the performance regression. Right now only Git is supported, but we are working on support for other source code management systems as well. There's even an experimental version of our bisect module that even automates the reboot process and recovery of the Phoronix Test Suite upon reboot.

<< Previous Page
1
Latest Linux Hardware Reviews
  1. A Walkthrough Of The New 32 System Open-Source Linux Benchmarking Test Farm
  2. Habey MITX-6771: Mini-ITX Board With Quad-Core J1900 Bay Trail
  3. OCZ Vector 150 SSD On Linux
  4. Noctua i4 CPU Cooler: Great For Cooling High-End LGA-2011v3 CPUs
Latest Linux Articles
  1. 17-Way Linux Graphics Card Comparison With Civilization Beyond Earth
  2. AMD Kaveri: Open-Source Radeon Gallium3D vs. Catalyst 14.12 Omega Driver
  3. 12-Way AMD Catalyst 14.12 vs. NVIDIA 346 Series Linux GPU Comparison
  4. AMD Catalyst 14.12 Omega Driver Brings Mixed Results For Linux Users
Latest Linux News
  1. Intel 2.99.917 X.Org Driver Released, 3.0 Release Finally Near
  2. Server-Side XCB Is Being Discussed For The X.Org Server
  3. Adreno A4xx Rendering With Freedreno Takes Shape
  4. Linux 3.19-rc1 Kernel Released Ahead Of Schedule
  5. Civilization: Beyond Earth Linux GPU/Driver Benchmarks
  6. X.Org Server 1.16.3 Released To Fix Security Issues
  7. Linux 3.19 Merge Window Closes Ahead Of Schedule
  8. MIPS R6 Architecture Now Supported By GCC
  9. LowRISC To Feature Tagged Memory & Minion Cores
  10. Intel Skylake Audio Support For Linux 3.19
Latest Forum Discussions
  1. Looking for an nVidia GPU, but not sure how well they are supported.
  2. Speeding up systemd networking service
  3. Need some hand holding with upgrading xserver
  4. FPS capped on Linux (AMD fglrx drivers)
  5. Are there an app using HSA ?
  6. The New SuperTuxKart Looks Better, But Can Cause GPU/Driver Problems
  7. XLennart: A Game For Systemd Haters With Nothing Better To Do
  8. Updated and Optimized Ubuntu Free Graphics Drivers