[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Very bad (JFFS2) things...


I've been testing to see how much a task *NOT directly reading or
writing from/to the JFFS2 fs* is blocked in a system with JFFS2

The test kernel is the 2.4.1 kernel, with the JFFS2 fs (not the latest-
just the one I've been testing all along) but with the erase.c &
nodemgmt patch applied.

Very bad things happened:

1. I got some horrendous blocking times. Worst case was 30 seconds!
Note, this is a real time task NOT touching the JFFS2 fs. (though other
were generating activity on the JFFS2 fs).

2. The system _locked up hard_ after printing the following on the
serial console. Even a SysReq does not elicit a response!

 119.601000 ms   19.601000 ms
 100.420000 ms   0.420000 ms
 114.641000 ms   14.641000 ms
/dev/mtdblock1            8192      7992       200  98% /mnt/jffs1
 122.993000 ms   22.993000 ms
 121.147000 ms   21.147000 ms
 91.944000 ms   -8.056000 ms
 102.854000 ms   2.854000 ms
 110.605000 ms   10.605000 ms
 128.964000 ms   28.964000 ms
 122.184000 ms   22.184000 ms
 114.818000 ms   14.818000 ms
 119.520000 ms   19.520000 ms
 153.932000 ms   53.932000 ms
 127.371000 ms   27.371000 ms
 98.970000 ms   -1.030000 ms
 100.488000 ms   0.488000 ms
 118.984000 ms   18.984000 ms
 136.197000 ms   36.197000 ms
 9045.982000 ms   8945.982000 ms
 12765.837000 ms   12665.837000 ms
CHIP_ERASE:Erasing_at_address: 0x40000
Waiting for chip to write, status = 4
 93.174000 ms   -6.826000 ms
 99.300000 ms   -0.700000 ms
 100.018000 ms   0.018000 ms
 99.968000 ms   -0.032000 ms
 100.017000 ms   0.017000 ms
Wake up to write:
Last[2] is ffffffff, datum is e0021985
Write of 367 bytes at 0x00114584 failed. returned 0, retlen 0
Not marking the space at 0x00114584 as dirty because the flash driver
returned retlen zero
Error writing new dnode: -5
 107.019000 ms   7.019000 ms
 7819.781000 ms   7719.781000 ms
 93.485000 ms   -6.515000 ms
 100.487000 ms   0.487000 ms
 99.312000 ms   -0.688000 ms

And that's where it ends. No Oops or illegal instruction or anything
like that. I cannot ping or do a SysReq command (SysReq is enabled in
the kernel).

To get to the saved profine (during these horrendous blocks) I need to
reboot, which I will if there are no more suggestion to what I can still
do to the system
in the present state.


To unsubscribe from this list: send the line "unsubscribe jffs-dev" in
the body of a message to majordomo@xxxxxxx.com