[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