[dm-devel] Re: Task blocked for more than 120 seconds
Neil Brown
neilb at suse.de
Tue Mar 25 03:50:20 UTC 2008
Wrong mailing list.
copying to dm-devel at redhat.com
NeilBrown
On Monday March 24, sam at rfc1149.net wrote:
> On my laptop, doing heavy C++ compilations in parallel with -j3 (this
> is a dual core) often generates the following trace:
>
> INFO: task g++:25119 blocked for more than 120 seconds.
> "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this
> message.
> g++ D c03916c0 0 25119 25118
> ecfef200 00200086 c038ef18 c03916c0 c03916c0 f77b2230 f77b2378 c17fa6c0
> 00000000 f89817bc f7486280 000000ff f7a1eb20 00000000 00000000 00000000
> c17fa6c0 00000000 d1401e9c c17f0408 c02a2aa1 d1401e94 c0147100 c02a2c93
> Call Trace:
> [<f89817bc>] dm_table_unplug_all+0x1e/0x2e [dm_mod]
> [<c02a2aa1>] io_schedule+0x1b/0x24
> [<c0147100>] sync_page+0x33/0x36
> [<c02a2c93>] __wait_on_bit+0x33/0x58
> [<c01470cd>] sync_page+0x0/0x36
> [<c01472fd>] wait_on_page_bit+0x59/0x60
> [<c012cf7b>] wake_bit_function+0x0/0x3c
> [<c014e20d>] truncate_inode_pages_range+0x238/0x29f
> [<c014e27d>] truncate_inode_pages+0x9/0xc
> [<f8c67187>] ext2_delete_inode+0x12/0x6e [ext2]
> [<f8c67175>] ext2_delete_inode+0x0/0x6e [ext2]
> [<c0170ea5>] generic_delete_inode+0x8f/0xf3
> [<c0170819>] iput+0x60/0x62
> [<c0169aa5>] do_unlinkat+0xb7/0xf9
> [<c0113a3e>] do_page_fault+0x1fa/0x4dc
> [<c0104822>] sysenter_past_esp+0x5f/0x85
> =======================
>
> This is with 2.6.25-rc6 (SMP) and has been present, as far as I can
> remember, since the beginning of the 2.6.25-rc series. It is not
> always reproducible, but the trace is always the same.
>
> My filesystem is stored on a ext3 (rw,noatime) dm_crypt'd partition
> leaving in a LVM volume.
>
> % lsmod | grep dm | grep -v ' 0 *$'
> dm_crypt 14340 1
> crypto_blkcipher 18308 6 ecb,cbc,dm_crypt
> dm_mod 53008 26 dm_crypt,dm_mirror,dm_snapshot
>
> Here is the code I have in dm-table.o:
>
> 00001042 <dm_table_unplug_all>:
> 1042: 56 push %esi
> 1043: 53 push %ebx
> 1044: 8b 98 a0 00 00 00 mov 0xa0(%eax),%ebx
> 104a: 8d b0 a0 00 00 00 lea 0xa0(%eax),%esi
> 1050: eb 10 jmp 1062 <dm_table_unplug_all+0x20>
> 1052: 8b 43 10 mov 0x10(%ebx),%eax
> 1055: 8b 40 5c mov 0x5c(%eax),%eax
> 1058: 8b 40 34 mov 0x34(%eax),%eax
> 105b: e8 fc ff ff ff call 105c <dm_table_unplug_all+0x1a>
> 1060: 8b 1b mov (%ebx),%ebx
> 1062: 8b 03 mov (%ebx),%eax
> 1064: 0f 1f 40 00 nopl 0x0(%eax)
> 1068: 39 f3 cmp %esi,%ebx
> 106a: 75 e6 jne 1052 <dm_table_unplug_all+0x10>
> 106c: 5b pop %ebx
> 106d: 5e pop %esi
> 106e: c3 ret
>
> The symbol in 105b call is, after relocation, blk_unplug.
>
> It there anything else I can do to help debugging this?
>
> Sam
> --
> Samuel Tardieu -- sam at rfc1149.net -- http://www.rfc1149.net/
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-raid" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
More information about the dm-devel
mailing list