btrfs in 2.6.38 extremely slow (when near full?)
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned |
Bug Description
I don't know yet if this is related to the disk being full, but the following reasons are why I suspect 2.6.38 to be the culprit:
1. I have a 2TB disk with btrfs filesystem on an encrypted (cryptsetup) LUKS partition
2. I set it up and installed using Ubuntu 10.04 Lucid, and recently upgraded all the way to 11.04 Natty
3. Having had no serious performance trouble with Lucid (2.6.32 kernel), I immediatly noticed a severe degradation in performance when running the 2.6.38-8 kernel that comes with Natty
4. Downgrading to 2.6.35-28 solves my performance issues.
Also, there's no difference between -o noatime or -o noatime,nodatacow etc.
I will try a newer kernel, 2.6.39 I guess, to see if it solves my performance issues.
(The disk is currently very full, I have not tried btrfs on a 2TiB disk with <90% used yet)
By degraded performance, I mean taking several minutes to 'rm' a small file (3-4MiB). File operations quickly queue up too, so there's no reasonable chance to be using that partition under 2.6.38-8 for now.
ProblemType: Bug
DistroRelease: Ubuntu 11.04
Package: linux-image-
ProcVersionSign
Uname: Linux 2.6.35-
AlsaDevices: Error: command ['ls', '-l', '/dev/snd/'] failed with exit code 2: ls: cannot access /dev/snd/: No such file or directory
AplayDevices: Error: [Errno 2] No such file or directory
Architecture: i386
ArecordDevices: Error: [Errno 2] No such file or directory
CRDA: Error: [Errno 2] No such file or directory
Date: Thu Jun 2 20:31:39 2011
HibernationDevice: RESUME=
InstallationMedia: Ubuntu-Server 10.04 "Lucid Lynx" - Release Candidate i386 (20100419.1)
Lsusb:
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
MachineType: Supermicro P4SCE
PciMultimedia:
ProcEnviron:
PATH=(custom, no user)
LANG=en_US.UTF-8
SHELL=/bin/bash
ProcKernelCmdLine: BOOT_IMAGE=
RelatedPackageV
linux-
linux-
linux-firmware 1.52
RfKill:
SourcePackage: linux
UpgradeStatus: Upgraded to natty on 2011-06-02 (0 days ago)
dmi.bios.date: 10/30/2003
dmi.bios.vendor: Phoenix Technologies, LTD
dmi.bios.version: 6.00 PG
dmi.board.name: P4SCE
dmi.board.vendor: Supermicro
dmi.board.version: PCB Version
dmi.chassis.type: 3
dmi.chassis.vendor: Supermicro
dmi.chassis.
dmi.modalias: dmi:bvnPhoenixT
dmi.product.name: P4SCE
dmi.product.
dmi.sys.vendor: Supermicro
Changed in linux (Ubuntu): | |
status: | New → Confirmed |
I noticed 'rsyslogd' was doing an awful lot of work, and when checking /var/log/syslog I found lots of btrfs output when rsyncing (for backup):
------------[ cut here ]------------ buildd/ linux-2. 6.35/fs/ btrfs/extent- tree.c: 3441 btrfs_block_ rsv_check+ 0x1c3/0x220 [btrfs]() 28-generic- pae #50-Ubuntu common+ 0x72/0xa0 rsv_check+ 0x1c3/0x220 [btrfs] rsv_check+ 0x1c3/0x220 [btrfs] null+0x22/ 0x30 rsv_check+ 0x1c3/0x220 [btrfs] end_transaction +0x17c/ 0x1f0 [btrfs] transaction+ 0xf/0x20 [btrfs] on+0x206/ 0x210 [btrfs] transaction+ 0x1c/0x20 [btrfs] start_trans+ 0x38/0x410 [btrfs] no_expire+ 0x1f/0xd0 0x33/0x110 [btrfs] n+0x9e/ 0xb0 0x87/0xd0 0x157/0x180 0x125/0x190 0x15/0x20 call+0x7/ 0xb buildd/ linux-2. 6.35/fs/ btrfs/extent- tree.c: 3441 btrfs_block_ rsv_check+ 0x1c3/0x220 [btrfs]() 28-generic- pae #50-Ubuntu common+ 0x72/0xa0 rsv_check+ 0x1c3/0x220 [btrfs] rsv_check+ 0x1c3/0x220 [btrfs] null+0x22/ 0x30 rsv_check+ 0x1c3/0x220 [btrfs] path+0x20/ 0x30 [btrfs] orphan_ item+0x79/ 0x90 [btrfs] end_transaction +0x17c/ 0x1f0 [btrfs] transaction_ throttle+ 0x12/0x20 [btrfs] 0xb9/0x110 [btrfs] 0x87/0xd0
WARNING: at /build/
Hardware name: P4SCE
Modules linked in: aes_i586 aes_generic ip6table_filter ip6_tables ipt_MASQUERADE iptable_nat nf_nat nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack ipt_REJECT iptable_mangle xt_tcpudp iptable_filter sha256_generic ip_tables x_tables blowfish bridge stp dm_crypt ppdev parport_pc lp shpchp parport raid10 raid456 async_raid6_recov async_pq raid6_pq async_xor xor async_memcpy async_tx raid1 raid0 multipath linear btrfs zlib_deflate crc32c libcrc32c intel_agp e1000 agpgart floppy
Pid: 1731, comm: rsync Not tainted 2.6.35-
Call Trace:
[<c0152b92>] warn_slowpath_
[<f888b8e3>] ? btrfs_block_
[<f888b8e3>] ? btrfs_block_
[<c0152be2>] warn_slowpath_
[<f888b8e3>] btrfs_block_
[<f889f66c>] __btrfs_
[<f889f70f>] btrfs_end_
[<f889f926>] start_transacti
[<f889f98c>] btrfs_start_
[<f88a07e8>] __unlink_
[<c023b1af>] ? mntput_
[<f88a67f3>] btrfs_unlink+
[<c022c5ee>] ? inode_permissio
[<c022d757>] vfs_unlink+
[<c022f2e7>] do_unlinkat+
[<c02237b5>] ? vfs_read+
[<c0223862>] ? sys_read+0x42/0x70
[<c022f325>] sys_unlink+
[<c05f1f04>] syscall_
---[ end trace d4686b8f4d931797 ]---
block_rsv size 788529152 reserved 321339392 freed 0 0
------------[ cut here ]------------
WARNING: at /build/
Hardware name: P4SCE
Modules linked in: aes_i586 aes_generic ip6table_filter ip6_tables ipt_MASQUERADE iptable_nat nf_nat nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack ipt_REJECT iptable_mangle xt_tcpudp iptable_filter sha256_generic ip_tables x_tables blowfish bridge stp dm_crypt ppdev parport_pc lp shpchp parport raid10 raid456 async_raid6_recov async_pq raid6_pq async_xor xor async_memcpy async_tx raid1 raid0 multipath linear btrfs zlib_deflate crc32c libcrc32c intel_agp e1000 agpgart floppy
Pid: 1731, comm: rsync Tainted: G W 2.6.35-
Call Trace:
[<c0152b92>] warn_slowpath_
[<f888b8e3>] ? btrfs_block_
[<f888b8e3>] ? btrfs_block_
[<c0152be2>] warn_slowpath_
[<f888b8e3>] btrfs_block_
[<f887f6d0>] ? btrfs_free_
[<f88d0359>] ? btrfs_insert_
[<f889f66c>] __btrfs_
[<f889f6f2>] btrfs_end_
[<f88a6879>] btrfs_unlink+
[<c022d757>] vfs_unlink+
[<c022f2e7>] do_unlinkat+0x...