task pdflush blocked during garbage collection.
mike sander
msander at ripnet.com
Tue Oct 21 11:21:59 EDT 2008
Hi All, I'm new to this list. Hopefully i'm using a good client
(thunderbird). i have turned off html.
I'm working with a jffs2 filesystem on an atmel dataflash part (on 9260
EK).
My testing involves copying/deleting about 1000 files of a few hundred
bytes each. This is to simulate (on compressed timeframe) a normal
usage pattern for our device. My maximum data size will be about 1 MB
within a 2MB partition.
All appears well until garbage collection starts [I think]. I have seen
cases where during a copy operation, the copy stalls for a fairly _long_
duration (1 to 2 minutes) after which the copy continues to completion
normally. (This is not the main issue... but any suggestions on
improving this are welcome)
Sometimes however, I get the following messages. In this case below I
did an "ls" in a shell prompt. I have also seen this during a copy
operation. Once these messages start, the operation (cp, ls etc) never
appears to complete. A device reset followed by a remount shows a few
jffs2 filesystem error (as expected).
I've seen mention of this type of behavior on the mailing list... but no
resolution.
Vital stats:
target: at91sam9260ek
dataflash: at45db642d
environment: buildroot with linux 2.6.25 & atmel specific patches
partition: 2MB. I started out with a clean partition using
flash_eraseall. Partition is specified on kernel command line. I am
mounting manually from shell.
The buildroot snapshot I am using is from approx May 01, although with a
more recent 2.6.25 kernel. I'm using mtd-utils-1.2.0 (I doubt mtd-utils
is relevant to this issue)
I was wondering if anyone on this list might have any clues as to why
these processes seem to be blocking. Any suggestions on where to
start looking and/or how to debug this are most welcome. I can
provide additional details as required.
Thanks in advance.
Mike
[ 5614.600000] INFO: task pdflush:49 blocked for more than 120 seconds.
[ 5614.600000] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs"
disables this message.
[ 5614.610000] pdflush D c02b1ff8 0 49 2
[ 5614.610000] [<c02b1da0>] (schedule+0x0/0x29c) from [<c02b2218>]
(schedule_timeout+0x20/0xc4)
[ 5614.620000] [<c02b21f8>] (schedule_timeout+0x0/0xc4) from
[<c02b1c70>] (wait_for_common+0xf8/0x194)
[ 5614.630000] r7:c03b3c98 r6:c03b2000 r5:c03b0cc0 r4:c03b3c58
[ 5614.640000] [<c02b1b78>] (wait_for_common+0x0/0x194) from
[<c02b1d9c>] (wait_for_completion+0x18/0x1c)
[ 5614.650000] [<c02b1d84>] (wait_for_completion+0x0/0x1c) from
[<c02836a8>] (spi_sync+0x58/0x6c)
[ 5614.660000] [<c0283650>] (spi_sync+0x0/0x6c) from [<c02835e4>]
(dataflash_read+0x124/0x154)
[ 5614.670000] r6:c03a67a4 r5:c03b3d08 r4:0098a0c4
[ 5614.670000] [<c02834c0>] (dataflash_read+0x0/0x154) from [<c02801a4>]
(part_read+0xa0/0xd4)
[ 5614.680000] [<c0280104>] (part_read+0x0/0xd4) from [<c0237cd4>]
(jffs2_flash_read+0x8c/0x290)
[ 5614.690000] r7:00000000 r6:001d3344 r5:001d2200 r4:c03b3e68
[ 5614.690000] [<c0237c48>] (jffs2_flash_read+0x0/0x290) from
[<c02341fc>] (jffs2_garbage_collect_live+0xd50/0xffc)
[ 5614.700000] [<c02334ac>] (jffs2_garbage_collect_live+0x0/0xffc) from
[<c0234b0c>] (jffs2_garbage_collect_pass+0x664/0x784)
[ 5614.710000] [<c02344a8>] (jffs2_garbage_collect_pass+0x0/0x784) from
[<c02391d4>] (jffs2_flush_wbuf_gc+0xc4/0x198)
[ 5614.720000] [<c0239110>] (jffs2_flush_wbuf_gc+0x0/0x198) from
[<c0236278>] (jffs2_write_super+0x44/0x48)
[ 5614.730000] r7:c03b3f4c r6:c0318e24 r5:00000000 r4:c0ee4200
[ 5614.740000] [<c0236234>] (jffs2_write_super+0x0/0x48) from
[<c01e7164>] (sync_supers+0x74/0xb0)
[ 5614.750000] r5:c0ee403c r4:c0ee4000
[ 5614.750000] [<c01e70f0>] (sync_supers+0x0/0xb0) from [<c01cef74>]
(wb_kupdate+0x58/0x158)
[ 5614.760000] r6:c03b3fa4 r5:c0318b20 r4:c03b3f4c
[ 5614.770000] [<c01cef1c>] (wb_kupdate+0x0/0x158) from [<c01cf680>]
(pdflush+0x140/0x1f8)
[ 5614.770000] r7:c032811c r6:c03b3fa4 r5:c0318b20 r4:c03b2000
[ 5614.780000] [<c01cf540>] (pdflush+0x0/0x1f8) from [<c01b4f78>]
(kthread+0x58/0x90)
[ 5614.790000] [<c01b4f20>] (kthread+0x0/0x90) from [<c01a4934>]
(do_exit+0x0/0x610)
[ 5614.790000] r6:00000000 r5:00000000 r4:00000000
[ 5614.800000] INFO: task ls:27882 blocked for more than 120 seconds.
[ 5614.810000] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs"
disables this message.
[ 5614.810000] ls D c02b1ff8 0 27882 184
[ 5614.820000] [<c02b1da0>] (schedule+0x0/0x29c) from [<c02b18e4>]
(__down+0xf4/0x10c)
[ 5614.830000] [<c02b17f0>] (__down+0x0/0x10c) from [<c02b178c>]
(__down_failed+0xc/0x20)
[ 5614.830000] r8:c0049f58 r7:00000002 r6:c0049eec r5:00000000 r4:00000001
[ 5614.840000] [<c022aab4>] (jffs2_readdir+0x0/0x1bc) from [<c01f121c>]
(vfs_readdir+0x74/0xa8)
[ 5614.850000] [<c01f11a8>] (vfs_readdir+0x0/0xa8) from [<c01f14f8>]
(sys_getdents+0x6c/0xb8)
[ 5614.860000] [<c01f148c>] (sys_getdents+0x0/0xb8) from [<c018a960>]
(ret_fast_syscall+0x0/0x2c)
[ 5614.870000] r7:0000008d r6:0008b0d0 r5:0008b098 r4:0008b0b0
More information about the linux-mtd
mailing list