[#4443] bfin nand hangs under pressure on BF548-EZKIT
Submitted By: Mike Frysinger
Open Date
2008-09-25 06:33:46
Priority:
Medium Assignee:
Barry Song
Status:
Open Fixed In Release:
N/A
Found In Release:
2010R1 Release:
2.6.26.5 svn trunk 5333
Category:
N/A Board:
EZKIT Lite
Processor:
BF548 Silicon Revision:
Is this bug repeatable?:
Yes Resolution:
Duplicate
Uboot version or rev.:
Toolchain version or rev.:
svn 4.1
App binary format:
N/A
Summary: bfin nand hangs under pressure on BF548-EZKIT
Details:
using the default BF548-EZKIT config, i booted up and mounted the file system on NAND as yaffs:
root:/> cat /proc/mtd
dev: size erasesize name
mtd0: 00040000 00020000 "bootloader(nor)"
mtd1: 00400000 00020000 "linux kernel(nor)"
mtd2: 00bc0000 00020000 "file system(nor)"
mtd3: 00400000 00020000 "linux kernel(nand)"
mtd4: 0fc00000 00020000 "file system(nand)"
root:/> mount -t yaffs /dev/mtdblock4 /mnt/
yaffs Sep 24 2008 17:45:29 Installing.
yaffs: dev is 32505860 name is "mtdblock4"
yaffs: passed flags ""
yaffs: Attempting MTD mount on 31.4, "mtdblock4"
yaffs: auto selecting yaffs2
block 624 is bad
block 929 is bad
block 956 is bad
then i made a 10 meg file:
root:/> dd if=/dev/zero of=10meg count=10 bs=1048576
10+0 records in
10+0 records out
root:/> ls -lh 10meg
-rw-r--r-- 1 root root 10.0M Jan 1 16:20 10meg
and setup a simple loop:
root:/> while :; do cat 10meg > /mnt/foo ; date ; done
i can let it run for a bit without a problem, but if i telnet into the board and run some commands (like `watch -n 1 ps`), the process gets hung forever:
root:/> ps | grep cat
357 root 392 D cat 10meg
root:/> kill -9 357
root:/> ps | grep cat
357 root 392 D cat 10meg
Follow-ups
--- Cliff Cai 2009-02-05 21:46:04
This problem is caused by scheduling time out for bf5xx_nand_dma_rw().
We use wait_for_completion method in the function after starting DMA transfer
to wait for DMA completion,but in this test case,kernel failed to schedule
back.And write/read interfaces in nand framework have no return value
,so wait_for_completion_timeout method is also useless.Any idea?
Cliff
--- Mike Frysinger 2009-02-06 00:22:55
try adding this to the irq handler:
wake_up(&info->chip.controller->wq);
--- Cliff Cai 2009-02-06 01:45:10
it doesn't work.completion is also a wait queue.
--- Cliff Cai 2009-02-06 03:54:55
I've tried to do an experiment ,polling a global variable in bf5xx_nand_dma_rw
and change the variable's value in irq handler,it wroks as expected.
Cliff
--- Robin Getz 2009-02-06 07:47:37
Polling a global seems like kind of a hack which will negatively impact
performance -- doesn't it?
At the min - wouldn't you want to use a semaphore? (so things don't spin/poll
in the kernel?)
--- Michael Hennerich 2009-02-06 07:57:59
>”We use wait_for_completion method in the function after starting DMA
transfer
to wait for DMA completion,but in this test case,kernel failed to schedule
back.”
IMHO this would be a very BAD kernel bug!
I can’t imagine that this really happens.
Can you try to request IRQ_NFC_ERROR – and see if this one fires instead of
the DMA completion interrupt?
-Michael
--- Cliff Cai 2009-02-09 04:13:25
it's quite weird that if I add udelay after wait_for_completion,it works.
Cliff
--- Michael Hennerich 2009-02-09 04:45:29
Cliff,
Right now we only use the DMA DONE interrupt - I wonder if we also need to
utilize NFC_IRQSTAT Bits and Interrupt.
When we receive the DMA DONE interrupt this doesn't mean the NFC actually
finished something. It only means the DMA controller read or wrote the requested
amount of data to the NFC.
So your udelay() fixing some erroneous behavior after
wait_for_completion(&info->dma_completion), might be prove of that.
-Michael
--- Cliff Cai 2009-02-10 05:19:25
Even I enable WR_DONE interrupt and wake up wait queue for page write in the irq
handler,it still doesn't work.Btw,no matter where I put udelay(50) in
bf5xx_nand_dma_rw(),it just works.I think I need to dig into the nand
framework.
Cliff
--- Cliff Cai 2009-02-10 06:17:27
I trace into the nand framwork,find that it use while(1){ do read/write buffer}
to write/read data. refer to and_do_read_ops/nand_do_write_ops() in
nand_base.c.I guess it wants to read in/write out the whole data without being
interruptted or being scheduled out.
Cliff
--- Cliff Cai 2009-02-10 21:23:56
I believe this problem has something to do with network.
I ran "while :; do cat 10meg >/mnt/foo ; date ; done " in
bakcground,and then
ran "watch -n 1 ps" in foreground,both in the same console,it
works.while if I
ping the board from the my pc at the same time ,the process got hang.
If I telneted to the board from two terminals,and ran the above two commands,
the process got hang immediately.
Cliff
--- Sonic Zhang 2009-02-11 20:25:02
Michael,
Do you have any idea on why the interrupt from BF548 ethernet blocks the
schedule of workqueue used by NAND driver?
--- Mike Frysinger 2009-02-11 20:34:44
i kind of doubt the smc ethernet driver is to blame here. i'd try changing the
UART to PIO mode and see if you hit the same kind of problems.
i vaguely recall being able to trigger the issue without using the network, but
it was much easier to reproduce when the network traffic was also happening.
--- Cliff Cai 2009-02-11 22:03:24
My test case is also OK without using the network,even if UART is in PIO mode,So
I don't think it's caused by frequent interrupts.
--- Michael Hennerich 2009-02-12 03:33:16
One try could be to remove the IRQF_DISABLED flag from the Interrupt:
Index: drivers/net/smsc911x.c
===================================================================
--- drivers/net/smsc911x.c (revision 6088)
+++ drivers/net/smsc911x.c (working copy)
@@ -2115,7 +2115,7 @@
intcfg |= INT_CFG_IRQ_TYPE_;
smsc911x_reg_write(intcfg, pdata, INT_CFG);
- retval = request_irq(dev->irq, smsc911x_irqhandler, IRQF_TRIGGER_LOW
| IRQF_DISABLED,
+ retval = request_irq(dev->irq, smsc911x_irqhandler,
IRQF_TRIGGER_LOW,
SMSC_CHIPNAME, dev);
if (retval) {
SMSC_WARNING("Unable to claim requested irq: %d",
dev->irq);
The other test I would try is to remove the PIO Mode DMA stuff from the Network
driver:
Index: drivers/net/smsc911x.c
===================================================================
--- drivers/net/smsc911x.c (revision 6088)
+++ drivers/net/smsc911x.c (working copy)
@@ -2115,7 +2115,7 @@
intcfg |= INT_CFG_IRQ_TYPE_;
smsc911x_reg_write(intcfg, pdata, INT_CFG);
- retval = request_irq(dev->irq, smsc911x_irqhandler, IRQF_TRIGGER_LOW
| IRQF_DISABLED,
+ retval = request_irq(dev->irq, smsc911x_irqhandler,
IRQF_TRIGGER_LOW,
SMSC_CHIPNAME, dev);
if (retval) {
SMSC_WARNING("Unable to claim requested irq: %d",
dev->irq);
Please try both independently
-Michael
--- Michael Hennerich 2009-02-12 03:34:31
Sorry posted the same patch twice - use this one:
Index: drivers/net/smsc911x.c
===================================================================
--- drivers/net/smsc911x.c (revision 6088)
+++ drivers/net/smsc911x.c (working copy)
@@ -203,9 +203,6 @@
smsc911x_tx_writefifo(struct smsc911x_data *pdata, unsigned int *buf,
unsigned int wordcount)
{
- if (wordcount > 24)
- dma_outsl((u_long)pdata->ioaddr + TX_DATA_FIFO, buf,
wordcount);
- else
outsl((u_long)pdata->ioaddr + TX_DATA_FIFO, buf,
wordcount);
}
@@ -214,9 +211,6 @@
smsc911x_rx_readfifo(struct smsc911x_data *pdata, unsigned int *buf,
unsigned int wordcount)
{
- if (wordcount > 24)
- dma_insl((u_long)pdata->ioaddr + RX_DATA_FIFO, buf,
wordcount);
- else
insl((u_long)pdata->ioaddr + RX_DATA_FIFO, buf, wordcount);
}
#endif
--- Cliff Cai 2009-02-12 21:23:39
I've tried these two patches respectively and both togeter,The problem is still
there.
Cliff
--- Rob D 2010-03-12 13:56:20
I'm having similar issues with 2009R1-RC6 with a custom bf548. I'm using
nandtest to exercise the flash. Does this mean that the nand flash is not
usable under linux?
--- Mingquan Pan 2010-03-22 23:56:38
By running the steps as the bug is first filed, it is still seen on trunk head
kernel now.
telnet on target board:
Every 1s: ps
2004-05-31
15:37:59
PID USER VSZ STAT COMMAND
1 root 104 S /init
2 root 0 SW [kthreadd]
3 root 0 SW [ksoftirqd/0]
4 root 0 SW [watchdog/0]
5 root 0 SW [events/0]
6 root 0 SW [khelper]
9 root 0 SW [async/mgr]
95 root 0 SW [sync_supers]
97 root 0 SW [bdi-default]
99 root 0 SW [kblockd/0]
105 root 0 SW [ata/0]
...
On target console:
31 15:31:18 UTC 2004
Mon May 31 15:31:19 UTC 2004
Mon May 31 15:31:19 UTC 2004
Mon May 31 15:31:20 UTC 2004
Mon May 31 15:31:20 UTC 2004
Mon May 31 15:31:21 UTC 2004
Mon May 31 15:31:21 UTC 2004
...
Mon May 31 15:32:05 UTC 2004
Mon May 31 15:32:06 UTC 2004
INFO: task ubifs_bgt0_1:433 blocked for more than 120 seconds.
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this
message.
ubifs_bgt0_1 D ffa0096c 0 433 2 0x00000000
Stack info:
SP: [0x02ab7db4] <0x02ab7db4> /* kernel dynamic memory */
FP: (0x02ab7fa4)
Memory from 0x02ab7db0 to 02ab8000
02ab7db0: 00281bc0 [00000000] 037d23e0 037d2560 0027f300 00000000 037a8ae0
00281bc0
02ab7dd0: 02ab7df4 001c807c 0000000a ffffffff ffffffff 02ab7dc8 02ab6008
02ab6000
02ab7df0: 02ab6000 0001b800 00110d54 03776580 02ab6000 00000007 03776404
00000000
02ab7e10: 02ab7e24 00000002 02ab7e64 02011694 00000015 00000000 037d23e0
0000e2d0
02ab7e30: 03776404 03776404 001114fc 03776580 0377640c 000002b0 05a1b800
00000800
02ab7e50: 00000000 02a97800 037d2cb4 037d23e0 037d23e0 037d2564
<0011b9f8> 037c7000
02ab7e70: 00000800 0561b800 00000000 0001b800 02a97800 00000001 00000033
00000800
02ab7e90: 02ab7e9c 02a97800 00000800 001c8db4 00000800 0011ab22 0001b000
02aae800
02ab7eb0: 02a91e00 00000000 000002b0 00000001 00000033 00000001 00000039
00000001
02ab7ed0: 0001b800 00000800 00000017 02ab7f0c 00000017 02ab7f14 000000cc
002823e0
02ab7ef0: 00000002 00119692 0001b000 00000800 <010a3000> 0001b000
02a916a0 00000003
02ab7f10: 0000007c 00281bec 02a97e48 <010a3000> 02a97800 0001b000
00000800 00000002
02ab7f30: 0009e8d8 02a9167c <010a3000> 00000001 037d2560 020663a0
02ab7f78 0001b000
02ab7f50: 00000800 00000002 0009eb32 02a9167c 0000007c 00000001 037d23e0
02ab6008
02ab7f70: 02ab6000 02ab6000 00000000 000a5470 <010a3000> 02ab6000
010a3138 00000000
02ab7f90: 00000001 00000003 00000004 02ab6000 02ab6000
(00000000)<0001f8fe> 02aa3d50
02ab7fb0: 000a540c 00000000 <010a3000> 00000000 00000000 00000000
00000000 0001f8a4
02ab7fd0: 00001500 00000000 00000000 02ab7fdc 02ab7fdc <00001506>
00000000 00000000
02ab7ff0: 00000000 00000000 ffffffff 00000006
Return addresses in stack:
address : <0x0011b9f8> { _ubi_io_write + 0x58 }
address : <0x010a3000> /* kernel dynamic memory */
address : <0x010a3000> /* kernel dynamic memory */
address : <0x010a3000> /* kernel dynamic memory */
address : <0x010a3000> /* kernel dynamic memory */
frame 1 : <0x0001f8fe> { _kthread + 0x5a }
address : <0x010a3000> /* kernel dynamic memory */
address : <0x00001506> { _kernel_thread_helper + 0x6 }
INFO: task flush-ubifs_0_1:437 blocked for more than 120 seconds.
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this
message.
flush-ubifs_0 D ffa0096c 0 437 2 0x00000000
Stack info:
SP: [0x0082fa80] <0x0082fa80> /* kernel dynamic memory */
FP: (0x0082ffb4)
Memory from 0x0082fa80 to 00830000
0082fa80:[0074ee20] 020663a0 02066520 037d2c80 00000001 037a8360 00281bc0
0082fac0
0082faa0: 001c807c 0000003f 020663cc 00000001 020663a0 0082e008 0082e000
0082e000
0082fac0: 0082fb40 001c84ba 037766a4 002807e8 0082e000 7fffffff 00000001
0082e000
0082fae0: 00000002 00017f4a 00646ff3 00017f5a 00280020 00280048 00000000
0082fafc
0082fb00: 0082fafc 0002921a 001c8304 037766a4 7fffffff 00000001 0082e000
00282f1c
0082fb20: 00275efc 00275cfc 01274fc8 00000001 020663a0 0000e2d0 037766a8
037766a8
0082fb40: 037d4000 <00110032> 03776580 02a97300 0377640c 00000009
00000004 00000100
0082fb60: 00000003 00854036 00647000 00000006 0028e3f0 0377640c
<0011016a> 03776580
0082fb80: 00000800 03776668 0377640c 02a97000 000044eb 02a97000 02275800
e0000800
0082fba0:<0010f546> 000044eb 00646006 <00111294> 03776580
00000000 00000800 000044eb
0082fbc0: 00008050 00002000 00000000 000044eb 00000000 00000000 00000000
000044eb
0082fbe0: 0000003f 00000000 02a97000 00015800 0011151e 03776580 0377640c
000000f3
0082fc00: 02275800 00000800 00000000 02a97000 ffffff01 00647000 0000201f
03776668
0082fc20:<0011b9f8> 037c7000 00000800 01e75800 00000000 00015800
02a97000 00000001
0082fc40: 000000a1 00000800 0082fc54 02a97000 00000800 001c8db4 00000800
0011ab22
0082fc60: 00015000 02aae800 02a91e00 00000000 000000f3 00000001 000000a1
1ba81402
0082fc80: 00000000 006271e0 00015800 00000800 010a3154 000000a1 0082fd9c
0082fcf8
0082fca0: 00000284 001c8b0c 0082fd18 00119692 00015000 00000800 00854000
00015000
0082fcc0: 0000004c 00000050 000007c0 000b72c6 0082fd58 000223a4 02a97000
00015000
0082fce0: 00000800 00000003 0009e05c 02a916f8 <010a3000> 00000000
010a3138 <010a3000>
0082fd00: 0028b51c 00015000 00000800 00000003
<010a3000><010a3000> 0082fd9c 00096dbc
0082fd20: 02a916f8 00854000 <010a3000> 00000000 0000004c 000000f8
000007c0 010a3004
0082fd40: 00000000 010cfb80 00000000 0082fd5c 00015000 000000a1 0000001c
00000001
0082fd60: 00000000 000981c4 010cfb80 <010a3000> 010a7084 00001000
00000891 000000b3
0082fd80: 0000034e 00000000 002807e8 00000000 0095c000 00001000
<0003773e> 00000199
0082fda0: 200000b2 <0003773e> 010a711c 0000000a 0082fdec 0000000e
00000000 0000000e
0082fdc0: 0082fdf4 <00037ec8> 010cfb80 00000003 fffe08c0 00185627
00000000 0000000e
0082fde0: 00000892 00000001 00000000 0000000e 00000000 010c8d40 010c8d60
01119280
0082fe00: 011192a0 011192c0 011192e0 <010c9880> 010c98a0 010c98c0
010c98e0 010cfb80
0082fe20: 010cfba0 010cfbc0 010cfbe0 000000b6 00000078 0003800e 010a7084
010a711c
0082fe40: 0082fee8 00000006 00000000 00000001 00000000 010a711c 0082fee8
00037730
0082fe60: 010a711c 00058b5a ffffffc0 0005922e 00059234 00059474 010a7084
02a91400
0082fe80: 010a3064 00000000 010a3084 00000001 00000027 0082fec4 0000bb5e
010a308c
0082fea0: ffff8166 010a708c 010a708c 02a91400 00000040 0005969c 0082ff50
010a3064
0082fec0: 00276fa8 00000000 00000400 00000000 00000004 02066524 0082fee8
0000bb06
0082fee0: 00000000 010a308c 010a3004 00000000 00000000 00000000 00000400
00000000
0082ff00: 00000000 00000000 00000000 00000000 00000028 00000a20 00000510
008898c8
0082ff20: 0082ff50 000598b0 008898a0 010a3064 010a30a4 000004e2 0000001f
00000000
0082ff40: 00000000 0000ffff 000124f8 020663a0 7fffffff 00000000 00000000
00000006
0082ff60: 00000000 00059958 00282f1c 00289d88 00000000 000004e2 ffff8136
010a3064
0082ff80: 000124f8 0204bc60 0000b0b8 02075f38 0003e4b8 010a3004 010a3064
010a3064
0082ffa0: 00000000 00000000 00000000 02075f38 0003e430
(00000000)<0001f8fe> 02075f38
0082ffc0: 0003e430 010a3064 00000000 0001f8a4 00001500 00000000 00000000
0082ffdc
0082ffe0: 0082ffdc <00001506> 00000000 00000000 00000000 00000000
ffffffff 00000006
Return addresses in stack:
address : <0x00110032> { _nand_write_page_hwecc + 0x3e }
address : <0x0011016a> { _nand_write_page + 0x2e }
address : <0x0010f546> { _nand_check_wp + 0x22 }
address : <0x00111294> { _nand_do_write_ops + 0x170 }
address : <0x0011b9f8> { _ubi_io_write + 0x58 }
address : <0x010a3000> /* kernel dynamic memory */
address : <0x010a3000> /* kernel dynamic memory */
address : <0x010a3000> /* kernel dynamic memory */
address : <0x010a3000> /* kernel dynamic memory */
address : <0x010a3000> /* kernel dynamic memory */
address : <0x010a3000> /* kernel dynamic memory */
address : <0x0003773e> { ___writepage + 0xe }
address : <0x0003773e> { ___writepage + 0xe }
address : <0x00037ec8> { _write_cache_pages + 0x138 }
address : <0x010c9880> /* kernel dynamic memory */
frame 1 : <0x0001f8fe> { _kthread + 0x5a }
address : <0x00001506> { _kernel_thread_helper + 0x6 }
INFO: task cat:730 blocked for more than 120 seconds.
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this
message.
cat D ffa0096c 0 730 322 0x00000000
Stack info:
SP: [0x006adb18] <0x006adb18> /* kernel dynamic memory */
FP: (0x006adef8)
Memory from 0x006adb10 to 006ae000
006adb10: 00281bec 0290b120 [00000000] 0290b120 0290b2a0 020663a0 00000000
037a8360
006adb30: 00281bc0 006adb58 001c807c 000a5df0 <010a3000> 000a5f6e
<010a3000> 006ac008
006adb50: 006ac000 006ac000 00000010 001c9302 0290b120 010a3138 80000001
00000002
006adb70: 00000000 00774af0 00000000 010a3728 00000010 000591b2 010a313c
010a313c
006adb90: 0290b120 00000002 000a5376 <010a3000> 010a3138 010a3138
80000001 00000000
006adbb0: 000a7046 <010a3000> ffffffe4 000200da 00000000 00281bc0
fffe08c0 001e24a7
006adbd0: 00000001 0000002d <00054840> 000a7294 <010a3000>
00000000 000000c0 00000000
006adbf0: 000000a0 00000000 00001030 010a711c 00000000 000007bd 000000d0
fffe08c0
006adc10: 000000c0 00001030 000000a0 00000000 006adc50 00097a42 010a711c
010a7084
006adc30: 00000001 007bd000 00000000 00001000 <010a3000> 000333fe
006adc50 00000000
006adc50: 00100004 00000000 00000000 00000000 00000000 00000001 00097d2e
01119dc0
006adc70: 010a7084 <010a3000> 00000001 007bd000 00000000 00000000
00038968 006adca4
006adc90: 01119da0 00001000 006add10 00000000 007bd000 00000005 00000000
00000000
006adcb0: 00000000 00000000 006add4c <0003276c> 006ac000 00000000
010a711c 006add4c
006adcd0: 00001000 007bd000 00001000 02fe8e28 010a711c 007bd000 00000000
00001000
006adcf0: 00000000 006add10 006add0c 001d4008 00000000 00000000 00000000
00000000
006add10: 01119da0 010a711c 00032870 006ade54 020303a0 007bd000 006add4c
00000000
006add30: 00000000 007bd000 020303a0 010ea0a0 007bd000 00000000 020303a0
006ade90
006add50: 00000001 00000000 00001000 00033f76 010a7084 00001000 006ade90
00000000
006add70: 00000000 006addd8 00013f74 006ade94 007bd000 00000000 006ade54
00001000
006add90: 00000000 0029cab0 00001000 006ade94 020306a0 00034244 006ade94
020306a0
006addb0: 00001000 02fe8e14 00034170 006ade20 020303a0 00000001 010a70f0
006ade90
006addd0: 007bd000 00000000 006ade20 006ade90 00000001 006ade54 00001000
<00043a0a>
006addf0: 006ade20 020303a0 006adef0 006ade90 02fe8e6c 00001000 00001000
00000001
006ade10: 000c62de 00000000 007bd000 00000000 00000000 00000027 00000000
00000001
006ade30: ffffffff 020303a0 00000000 00000000 00000000 00000000 0290b120
00000000
006ade50: 00000000 007bd000 00000000 00000000 00dc95b3 00000000 002807e8
00001000
006ade70: 00001000 020663a0 002807e8 00000002 00000002 0029cab0 02fe8e14
02fe8e34
006ade90: 02fe8e6c 00001000 <0004420c> 020303a0 00000004 02fe8e6c
006adef0 00000001
006adeb0: 0290b120 00000000 006adef0 00000002 00000000 00044330 020303a0
00000004
006aded0: 02fe8e6c 00001000 00000001 00000001 00000001 02fe8e14 006ac008
006adef0
006adef0: 007bd000 00000000 (00000000)<ffa00896> 00044300 00000000
ffffe000 ffffe000
006adf10: 00000001 <0000fffe> 02fe9fa5 00000001 00000001 02f83ec6
00008000 00002000
006adf30: 00000000 006ae000 02f83ec6 02f83ec6 02f9a7b4 ffa00fb0 02001004
02b929f3
006adf50: 02f8d41f 02b929e8 02f8d416 00000000 0000000e 00000000 00000000
00000000
006adf70: 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000
006adf90: 00000000 00000000 00000000 00000000 00000004 00000000 02fe9ea4
02fd9e58
006adfb0: 02fe9fed 02fe8e08 02fe8e14 02fdffc0 00000000 02fe8e6c 02fe0500
02fe9fa5
006adfd0: 00000004 00001000 02fe8e6c 00000001 00000001 02fe9fa5 00001000
02fe8e6c
006adff0: 00000001 00000001 00000004 00000006
Return addresses in stack:
address : <0x010a3000> /* kernel dynamic memory */
address : <0x010a3000> /* kernel dynamic memory */
address : <0x010a3000> /* kernel dynamic memory */
address : <0x010a3000> /* kernel dynamic memory */
address : <0x00054840> { _do_remount + 0xa8 }
address : <0x010a3000> /* kernel dynamic memory */
address : <0x010a3000> /* kernel dynamic memory */
address : <0x010a3000> /* kernel dynamic memory */
address : <0x0003276c> { _generic_perform_write + 0x94 }
address : <0x00043a0a> { _do_sync_write + 0x8a }
address : <0x0004420c> { _vfs_write + 0x68 }
frame 1 : <0xffa00896> { _system_call + 0x6a }
address : <0x0000fffe> { _warn_slowpath_common + 0x42 }
INFO: task ubifs_bgt0_1:433 blocked for more than 120 seconds.
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this
message.
ubifs_bgt0_1 D ffa0096c 0 433 2 0x00000000
Stack info:
SP: [0x02ab7db4] <0x02ab7db4> /* kernel dynamic memory */
FP: (0x02ab7fa4)
Memory from 0x02ab7db0 to 02ab8000
02ab7db0: 00281bc0 [00000000] 037d23e0 037d2560 0027f300 00000000 037a8ae0
00281bc0
02ab7dd0: 02ab7df4 001c807c 0000000a ffffffff ffffffff 02ab7dc8 02ab6008
02ab6000
02ab7df0: 02ab6000 0001b800 00110d54 03776580 02ab6000 00000007 03776404
00000000
02ab7e10: 02ab7e24 00000002 02ab7e64 02011694 00000015 00000000 037d23e0
0000e2d0
02ab7e30: 03776404 03776404 001114fc 03776580 0377640c 000002b0 05a1b800
00000800
02ab7e50: 00000000 02a97800 037d2cb4 037d23e0 037d23e0 037d2564
<0011b9f8> 037c7000
02ab7e70: 00000800 0561b800 00000000 0001b800 02a97800 00000001 00000033
00000800
02ab7e90: 02ab7e9c 02a97800 00000800 001c8db4 00000800 0011ab22 0001b000
02aae800
02ab7eb0: 02a91e00 00000000 000002b0 00000001 00000033 00000001 00000039
00000001
02ab7ed0: 0001b800 00000800 00000017 02ab7f0c 00000017 02ab7f14 000000cc
002823e0
02ab7ef0: 00000002 00119692 0001b000 00000800 <010a3000> 0001b000
02a916a0 00000003
02ab7f10: 0000007c 00281bec 02a97e48 <010a3000> 02a97800 0001b000
00000800 00000002
02ab7f30: 0009e8d8 02a9167c <010a3000> 00000001 037d2560 020663a0
02ab7f78 0001b000
02ab7f50: 00000800 00000002 0009eb32 02a9167c 0000007c 00000001 037d23e0
02ab6008
02ab7f70: 02ab6000 02ab6000 00000000 000a5470 <010a3000> 02ab6000
010a3138 00000000
02ab7f90: 00000001 00000003 00000004 02ab6000 02ab6000
(00000000)<0001f8fe> 02aa3d50
02ab7fb0: 000a540c 00000000 <010a3000> 00000000 00000000 00000000
00000000 0001f8a4
02ab7fd0: 00001500 00000000 00000000 02ab7fdc 02ab7fdc <00001506>
00000000 00000000
02ab7ff0: 00000000 00000000 ffffffff 00000006
Return addresses in stack:
address : <0x0011b9f8> { _ubi_io_write + 0x58 }
address : <0x010a3000> /* kernel dynamic memory */
address : <0x010a3000> /* kernel dynamic memory */
address : <0x010a3000> /* kernel dynamic memory */
address : <0x010a3000> /* kernel dynamic memory */
frame 1 : <0x0001f8fe> { _kthread + 0x5a }
address : <0x010a3000> /* kernel dynamic memory */
address : <0x00001506> { _kernel_thread_helper + 0x6 }
INFO: task flush-ubifs_0_1:437 blocked for more than 120 seconds.
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this
message.
flush-ubifs_0 D ffa0096c 0 437 2 0x00000000
Stack info:
SP: [0x0082fa80] <0x0082fa80> /* kernel dynamic memory */
FP: (0x0082ffb4)
Memory from 0x0082fa80 to 00830000
0082fa80:[0074ee20] 020663a0 02066520 037d2c80 00000001 037a8360 00281bc0
0082fac0
0082faa0: 001c807c 0000003f 020663cc 00000001 020663a0 0082e008 0082e000
0082e000
0082fac0: 0082fb40 001c84ba 037766a4 002807e8 0082e000 7fffffff 00000001
0082e000
0082fae0: 00000002 00017f4a 00646ff3 00017f5a 00280020 00280048 00000000
0082fafc
0082fb00: 0082fafc 0002921a 001c8304 037766a4 7fffffff 00000001 0082e000
00282f1c
0082fb20: 00275efc 00275cfc 01274fc8 00000001 020663a0 0000e2d0 037766a8
037766a8
0082fb40: 037d4000 <00110032> 03776580 02a97300 0377640c 00000009
00000004 00000100
0082fb60: 00000003 00854036 00647000 00000006 0028e3f0 0377640c
<0011016a> 03776580
0082fb80: 00000800 03776668 0377640c 02a97000 000044eb 02a97000 02275800
e0000800
0082fba0:<0010f546> 000044eb 00646006 <00111294> 03776580
00000000 00000800 000044eb
0082fbc0: 00008050 00002000 00000000 000044eb 00000000 00000000 00000000
000044eb
0082fbe0: 0000003f 00000000 02a97000 00015800 0011151e 03776580 0377640c
000000f3
0082fc00: 02275800 00000800 00000000 02a97000 ffffff01 00647000 0000201f
03776668
0082fc20:<0011b9f8> 037c7000 00000800 01e75800 00000000 00015800
02a97000 00000001
0082fc40: 000000a1 00000800 0082fc54 02a97000 00000800 001c8db4 00000800
0011ab22
0082fc60: 00015000 02aae800 02a91e00 00000000 000000f3 00000001 000000a1
1ba81402
0082fc80: 00000000 006271e0 00015800 00000800 010a3154 000000a1 0082fd9c
0082fcf8
0082fca0: 00000284 001c8b0c 0082fd18 00119692 00015000 00000800 00854000
00015000
0082fcc0: 0000004c 00000050 000007c0 000b72c6 0082fd58 000223a4 02a97000
00015000
0082fce0: 00000800 00000003 0009e05c 02a916f8 <010a3000> 00000000
010a3138 <010a3000>
0082fd00: 0028b51c 00015000 00000800 00000003
<010a3000><010a3000> 0082fd9c 00096dbc
0082fd20: 02a916f8 00854000 <010a3000> 00000000 0000004c 000000f8
000007c0 010a3004
0082fd40: 00000000 010cfb80 00000000 0082fd5c 00015000 000000a1 0000001c
00000001
0082fd60: 00000000 000981c4 010cfb80 <010a3000> 010a7084 00001000
00000891 000000b3
0082fd80: 0000034e 00000000 002807e8 00000000 0095c000 00001000
<0003773e> 00000199
0082fda0: 200000b2 <0003773e> 010a711c 0000000a 0082fdec 0000000e
00000000 0000000e
0082fdc0: 0082fdf4 <00037ec8> 010cfb80 00000003 fffe08c0 00185627
00000000 0000000e
0082fde0: 00000892 00000001 00000000 0000000e 00000000 010c8d40 010c8d60
01119280
0082fe00: 011192a0 011192c0 011192e0 <010c9880> 010c98a0 010c98c0
010c98e0 010cfb80
0082fe20: 010cfba0 010cfbc0 010cfbe0 000000b6 00000078 0003800e 010a7084
010a711c
0082fe40: 0082fee8 00000006 00000000 00000001 00000000 010a711c 0082fee8
00037730
0082fe60: 010a711c 00058b5a ffffffc0 0005922e 00059234 00059474 010a7084
02a91400
0082fe80: 010a3064 00000000 010a3084 00000001 00000027 0082fec4 0000bb5e
010a308c
0082fea0: ffff8166 010a708c 010a708c 02a91400 00000040 0005969c 0082ff50
010a3064
0082fec0: 00276fa8 00000000 00000400 00000000 00000004 02066524 0082fee8
0000bb06
0082fee0: 00000000 010a308c 010a3004 00000000 00000000 00000000 00000400
00000000
0082ff00: 00000000 00000000 00000000 00000000 00000028 00000a20 00000510
008898c8
0082ff20: 0082ff50 000598b0 008898a0 010a3064 010a30a4 000004e2 0000001f
00000000
0082ff40: 00000000 0000ffff 000124f8 020663a0 7fffffff 00000000 00000000
00000006
0082ff60: 00000000 00059958 00282f1c 00289d88 00000000 000004e2 ffff8136
010a3064
0082ff80: 000124f8 0204bc60 0000b0b8 02075f38 0003e4b8 010a3004 010a3064
010a3064
0082ffa0: 00000000 00000000 00000000 02075f38 0003e430
(00000000)<0001f8fe> 02075f38
0082ffc0: 0003e430 010a3064 00000000 0001f8a4 00001500 00000000 00000000
0082ffdc
0082ffe0: 0082ffdc <00001506> 00000000 00000000 00000000 00000000
ffffffff 00000006
Return addresses in stack:
address : <0x00110032> { _nand_write_page_hwecc + 0x3e }
address : <0x0011016a> { _nand_write_page + 0x2e }
address : <0x0010f546> { _nand_check_wp + 0x22 }
address : <0x00111294> { _nand_do_write_ops + 0x170 }
address : <0x0011b9f8> { _ubi_io_write + 0x58 }
address : <0x010a3000> /* kernel dynamic memory */
address : <0x010a3000> /* kernel dynamic memory */
address : <0x010a3000> /* kernel dynamic memory */
address : <0x010a3000> /* kernel dynamic memory */
address : <0x010a3000> /* kernel dynamic memory */
address : <0x010a3000> /* kernel dynamic memory */
address : <0x0003773e> { ___writepage + 0xe }
address : <0x0003773e> { ___writepage + 0xe }
address : <0x00037ec8> { _write_cache_pages + 0x138 }
address : <0x010c9880> /* kernel dynamic memory */
frame 1 : <0x0001f8fe> { _kthread + 0x5a }
address : <0x00001506> { _kernel_thread_helper + 0x6 }
INFO: task cat:730 blocked for more than 120 seconds.
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this
message.
cat D ffa0096c 0 730 322 0x00000000
Stack info:
SP: [0x006adb18] <0x006adb18> /* kernel dynamic memory */
FP: (0x006adef8)
Memory from 0x006adb10 to 006ae000
006adb10: 00281bec 0290b120 [00000000] 0290b120 0290b2a0 020663a0 00000000
037a8360
006adb30: 00281bc0 006adb58 001c807c 000a5df0 <010a3000> 000a5f6e
<010a3000> 006ac008
006adb50: 006ac000 006ac000 00000010 001c9302 0290b120 010a3138 80000001
00000002
006adb70: 00000000 00774af0 00000000 010a3728 00000010 000591b2 010a313c
010a313c
006adb90: 0290b120 00000002 000a5376 <010a3000> 010a3138 010a3138
80000001 00000000
006adbb0: 000a7046 <010a3000> ffffffe4 000200da 00000000 00281bc0
fffe08c0 001e24a7
006adbd0: 00000001 0000002d <00054840> 000a7294 <010a3000>
00000000 000000c0 00000000
006adbf0: 000000a0 00000000 00001030 010a711c 00000000 000007bd 000000d0
fffe08c0
006adc10: 000000c0 00001030 000000a0 00000000 006adc50 00097a42 010a711c
010a7084
006adc30: 00000001 007bd000 00000000 00001000 <010a3000> 000333fe
006adc50 00000000
006adc50: 00100004 00000000 00000000 00000000 00000000 00000001 00097d2e
01119dc0
006adc70: 010a7084 <010a3000> 00000001 007bd000 00000000 00000000
00038968 006adca4
006adc90: 01119da0 00001000 006add10 00000000 007bd000 00000005 00000000
00000000
006adcb0: 00000000 00000000 006add4c <0003276c> 006ac000 00000000
010a711c 006add4c
006adcd0: 00001000 007bd000 00001000 02fe8e28 010a711c 007bd000 00000000
00001000
006adcf0: 00000000 006add10 006add0c 001d4008 00000000 00000000 00000000
00000000
006add10: 01119da0 010a711c 00032870 006ade54 020303a0 007bd000 006add4c
00000000
006add30: 00000000 007bd000 020303a0 010ea0a0 007bd000 00000000 020303a0
006ade90
006add50: 00000001 00000000 00001000 00033f76 010a7084 00001000 006ade90
00000000
006add70: 00000000 006addd8 00013f74 006ade94 007bd000 00000000 006ade54
00001000
006add90: 00000000 0029cab0 00001000 006ade94 020306a0 00034244 006ade94
020306a0
006addb0: 00001000 02fe8e14 00034170 006ade20 020303a0 00000001 010a70f0
006ade90
006addd0: 007bd000 00000000 006ade20 006ade90 00000001 006ade54 00001000
<00043a0a>
006addf0: 006ade20 020303a0 006adef0 006ade90 02fe8e6c 00001000 00001000
00000001
006ade10: 000c62de 00000000 007bd000 00000000 00000000 00000027 00000000
00000001
006ade30: ffffffff 020303a0 00000000 00000000 00000000 00000000 0290b120
00000000
006ade50: 00000000 007bd000 00000000 00000000 00dc95b3 00000000 002807e8
00001000
006ade70: 00001000 020663a0 002807e8 00000002 00000002 0029cab0 02fe8e14
02fe8e34
006ade90: 02fe8e6c 00001000 <0004420c> 020303a0 00000004 02fe8e6c
006adef0 00000001
006adeb0: 0290b120 00000000 006adef0 00000002 00000000 00044330 020303a0
00000004
006aded0: 02fe8e6c 00001000 00000001 00000001 00000001 02fe8e14 006ac008
006adef0
006adef0: 007bd000 00000000 (00000000)<ffa00896> 00044300 00000000
ffffe000 ffffe000
006adf10: 00000001 <0000fffe> 02fe9fa5 00000001 00000001 02f83ec6
00008000 00002000
006adf30: 00000000 006ae000 02f83ec6 02f83ec6 02f9a7b4 ffa00fb0 02001004
02b929f3
006adf50: 02f8d41f 02b929e8 02f8d416 00000000 0000000e 00000000 00000000
00000000
006adf70: 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000
006adf90: 00000000 00000000 00000000 00000000 00000004 00000000 02fe9ea4
02fd9e58
006adfb0: 02fe9fed 02fe8e08 02fe8e14 02fdffc0 00000000 02fe8e6c 02fe0500
02fe9fa5
006adfd0: 00000004 00001000 02fe8e6c 00000001 00000001 02fe9fa5 00001000
02fe8e6c
006adff0: 00000001 00000001 00000004 00000006
Return addresses in stack:
address : <0x010a3000> /* kernel dynamic memory */
address : <0x010a3000> /* kernel dynamic memory */
address : <0x010a3000> /* kernel dynamic memory */
address : <0x010a3000> /* kernel dynamic memory */
address : <0x00054840> { _do_remount + 0xa8 }
address : <0x010a3000> /* kernel dynamic memory */
address : <0x010a3000> /* kernel dynamic memory */
address : <0x010a3000> /* kernel dynamic memory */
address : <0x0003276c> { _generic_perform_write + 0x94 }
address : <0x00043a0a> { _do_sync_write + 0x8a }
address : <0x0004420c> { _vfs_write + 0x68 }
frame 1 : <0xffa00896> { _system_call + 0x6a }
address : <0x0000fffe> { _warn_slowpath_common + 0x42 }
^C
version:
root:/> version
kernel: Linux release 2.6.33.1-ADI-2010R1-pre-svn8523, build #10 Sun Mar 21
05:41:15 CST 2010
toolchain: bfin-uclinux-gcc release gcc version 4.3.4 (ADI-trunk/svn-3815)
user-dist: release svn-9521, build #116 Sun Mar 21 05:39:57 CST 2010
--- Barry Song 2010-06-01 00:18:53
Duplicate with bug[#6011].
--- Mike Frysinger 2010-06-01 10:20:28
technically speaking, 6011 is a dupe of this since this came first ...
Files
Changes
Commits
Dependencies
Duplicates
Associations
Tags
File Name File Type File Size Posted By
No Files Were Found