[Btrfs-devel] soft lockup during postmark
Dongjun Shin
djshin90 at gmail.com
Mon Mar 3 17:39:48 PST 2008
On Tue, Mar 4, 2008 at 9:43 AM, Chris Mason <chris.mason at oracle.com> wrote:
> On Monday 03 March 2008, Dongjun Shin wrote:
> > Hello,
> >
> > I've found a soft lockup problem when running postmark on btrfs v0.13,
> > kernel 2.6.24. The block size of btrfs is 4k.
> >
> > BUG: soft lockup - CPU#0 stuck for 11s! [postmark:3176]
>
> Ouch, 11s isn't good at all.
>
> >
> > Pid: 3176, comm: postmark Not tainted (2.6.24 #6)
> > EIP: 0060:[<f8ced2a4>] EFLAGS: 00000287 CPU: 0
> > EIP is at __alloc_extent_buffer+0x1a/0x87 [btrfs]
> > EAX: f75e2980 EBX: f75e2a50 ECX: 00000001 EDX: c30d2098
> > ESI: 005d4000 EDI: 00000000 EBP: c30d2078 ESP: f6692b44
> > DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
> > CR0: 8005003b CR2: b7787004 CR3: 379c6000 CR4: 000006d0
> > DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000
> > DR6: ffff0ff0 DR7: 00000400
> > [<f8cf1d47>] alloc_extent_buffer+0x72/0x2c7 [btrfs]
>
> Fould you please look send me the disassembled output of alloc_extent_buffer
> for your kernel? My guess is that you're actually in extent_io.c/find_lru,
> which would mean the lru list was corrupt.
>
> Or, you're trying to get the spin lock.
>
Here's the disassembled output.
00005a75 <alloc_extent_buffer>:
(snipped)
5adf: 89 1c 24 mov %ebx,(%esp)
5ae2: e8 43 b5 ff ff call 102a <__alloc_extent_buffer>
5ae7: 85 c0 test %eax,%eax
5ae9: 89 c5 mov %eax,%ebp
5aeb: 0f 84 3f 02 00 00 je 5d30 <alloc_extent_buffer+0x2bb>
5af1: 3d 00 f0 ff ff cmp $0xfffff000,%eax
5af6: 0f 87 32 02 00 00 ja 5d2e <alloc_extent_buffer+0x2b9>
5afc: f6 40 2d 01 testb $0x1,0x2d(%eax)
5b00: 0f 85 18 01 00 00 jne 5c1e <alloc_extent_buffer+0x1a9>
5b06: 83 7c 24 54 00 cmpl $0x0,0x54(%esp)
5b0b: c7 44 24 28 00 00 00 movl $0x0,0x28(%esp)
(snipped)
Your guest may be right. But I'm not sure if the soft lockup message
points the right location of the hangup.
--
Dongjun
More information about the Btrfs-devel
mailing list