Btrfs Did Regress Hard In The Linux 2.6.35 Kernel

Posted by Michael Larabel on August 09, 2010

This morning we published benchmarks of ZFS, EXT4, and Btrfs when running these three popular file-systems off a high-performance OCZ Vertex 2 solid-state drive and also a 7200RPM notebook hard drive. To a fair amount of surprise, the EXT4 file-system ended up beating out Btrfs on the SSD in a number of tests, which was a change from our tests when using the EXT4/Btrfs modules on previous kernels. It was even more surprising since Btrfs has an SSD-optimized mode where as EXT4 does not. However, it turns out this is part of a major performance regression for this file-system in the Linux 2.6.35 kernel.

Over the weekend, another Btrfs tester reported in on regressions that he found where the affect of using the Linux 2.6.35 kernel with this file-system resulted in as much as a 10x performance hit under write-heavy workloads. This 2.6.35 regression was tracked down to this Git commit that was described as "Shrink delayed allocation space in a synchronized manner is more controllable than flushing all delay allocated space in an async thread."

Chris Mason, the Btrfs lead developer, quickly responded that Btrfs is not being aggressive enough in allocating chunks of data, which is making the flusher come in and start data I/O. Chris is now working to reproduce and address this issue. No fix has yet been committed, but it's expected that it will land within the Linux 2.6.36 kernel.

Other users that have been trying Btrfs on Ubuntu 10.10, which adds Btrfs installation support and is using the Linux 2.6.35 kernel, have also been having some troubles. Here's an open bug on Launchpad where carrying out a Btrfs Ubuntu installation takes about two hours to install with the root Btrfs file-system where as on the same system with an EXT4 file-system it takes just about 15 minutes. We can confirm this problem too with Ubuntu 10.10 at present.

It's a pity that our daily Linux kernel performance tracker hadn't caught this regression on the day it was pulled into the Linux kernel, but the Btrfs test system running daily benchmarks of the Linux kernel happened to crash and it's not yet back online. Needless to say, we will have new Btrfs benchmarks once this regression is worked out.

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. Sumo Lounge Emperor
  2. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  3. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  4. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
Latest Software Articles
  1. The Cost Of Ubuntu Disk Encryption
  2. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  3. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
  4. F2FS File-System Shows Regressions On Linux 3.10
Latest Linux News
  1. QEMU 1.5 Supports VGA Passthrough, Better USB 3.0
  2. Handbrake 0.9.9 Supports OpenCL Offloading
  3. Freedreno Gallium3D Now Banging The Adreno A3XX
  4. Jolla Announces Their First Phone
  5. Mageia 3 Released, Still Using Legacy GRUB
  6. NetBSD 6.1 Brings In More Features
  7. Using Six Monitors With AMD's Open-Source Linux Driver
  8. Benchmarking The Intel P-State, CPUfreq Changes
  9. FreeBSD Still Working On Next-Gen Package Manager
  10. DNF Still Advancing As Experimental Yum For Fedora
  11. Logitech Begins Supporting Linux Users
Latest Forum Talk
  1. Mageia 3 Released, Still Using Legacy GRUB
  2. Jolla Announces Their First Phone
  3. Ubuntu To Look At Replacing Firefox With Chromium
  4. What Would You Like To See Next?
  5. QEMU 1.5 Supports VGA Passthrough, Better USB 3.0
  6. FreeBSD Still Working On Next-Gen Package Manager
  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