[#4827] BF548 Nor flash error running bonnie++
Submitted By: Yi Li
Open Date
2009-01-20 22:28:32 Close Date
2009-03-17 06:20:35
Priority:
Low Assignee:
Graf Yang
Status:
Closed Fixed In Release:
N/A
Found In Release:
N/A Release:
svn trunk
Category:
N/A Board:
EZKIT Lite
Processor:
BF548 Silicon Revision:
Is this bug repeatable?:
Yes Resolution:
Fixed
Uboot version or rev.:
Toolchain version or rev.:
svn trunk 4.1
App binary format:
N/A
Summary: BF548 Nor flash error running bonnie++
Details:
Since I cannot open the bug: blackfin.uclinux.org/gf/project/linux-kernel/tracker/?action=TrackerItemEdit&tracker_id=387&tracker_item_id=4826, reopen another:
Initial Comment:
root:/> flash_eraseall -j /dev/mtd2
Erasing 128 Kibyte @ bc0000 -- 100 % complete.Cleanmarker written at ba0000.
root:/>
root:/> mount -t jffs2 /dev/mtdblock2 /mnt/
root:/> bonnie++ -u root -d /mnt
Using uid:0, gid:0.
Writing a byte at a time...physmap-flash.0: block erase error: (status timeout)
Erase at 0x00b60000 failed immediately: errno -62
physmap-flash.0: block erase error: (status timeout)
Erase at 0x00ae0000 failed immediately: errno -62
physmap-flash.0: block erase error: (status timeout)
Erase at 0x00aa0000 failed immediately: errno -62
physmap-flash.0: block erase error: (status timeout)
Erase at 0x00a80000 failed immediately: errno -62
physmap-flash.0: block erase error: (status timeout)
Erase at 0x00a00000 failed immediately: errno -62
physmap-flash.0: block erase error: (status timeout)
Erase at 0x009c0000 failed immediately: errno -62
physmap-flash.0: block erase error: (status timeout)
Erase at 0x00980000 failed immediately: errno -62
physmap-flash.0: block erase error: (status timeout)
Erase at 0x00920000 failed immediately: errno -62
physmap-flash.0: block erase error: (status timeout)
Erase at 0x008e0000 failed immediately: errno -62
[snip]
There is not such error if disabling per character I/O test, i,e. running bonnie++ as:
root:/> bonnie++ -u root -d /mnt -f
This would works fine.
Follow-ups
--- Robin Getz 2009-01-20 23:45:00
Yi:
Can you ask on the mtd mailing list -- to see if this is a common error on
other platforms?
Thanks
-Robin
--- Yi Li 2009-01-21 05:27:25
Asked on mtd mailing list:
lists.infradead.org/pipermail/linux-mtd/2009-January/024351.html
Hoping there would be responses.
--- Graf Yang 2009-02-10 21:26:33
This bug is hard to duplicate.
One fully test need take several hours, and I only found the same error message
3 times in two days.
In most times, it successfully go into the block_write (same as -f option)
state, or reseted by me after waiting a long time.
--- Yi Li 2009-02-11 08:36:34
Maybe we can just lower the priority and leave it there.
--- Robin Getz 2009-02-11 18:07:41
I'm not comfortable lowering the priority of a hard to reproduce bug, just
because it is hard to reproduce. That is how flakey software gets out the door.
If we want to lower the priority since it only happens in bonnie, and we
haven't seen it in any real world applications, that is one thing.
If it only happens on 548 (and no other platforms) - that is also something.
I think we need some more info before we can decide what to do.
--- Graf Yang 2009-02-11 20:19:52
In the bonnie++ testing, driver put the blocks that need to be erased to a work
queue. It seems that error message is printed out when bonnie++ and erasing work
conflicted.
On the other hand, the nor-flash erasing seems slower on BF548 than other
board.
I'd like to investigate it.
--- Yi Li 2009-02-11 20:26:15
For Nor flash, I only ran bonnie++ on BF548, no other processors. We may try on
other boards.
--- Graf Yang 2009-02-26 22:13:28
If the inval_cache_and_wait_for_operation() is reentered by write operation when
erase operation is in progress, the chip->erase_suspended may be cleared,
this cause the erase timeo is not reset and result time out error.
If test with -f options, it will write block at a time, and not erase any block
(in "Writing intelligently" stage), so the error not existed.
--- Yi Li 2009-03-17 06:20:35
Verified on SVN trunk. Fixed and close:
root:/> bonnie\+\+ -u root -d /mnt/
Using uid:0, gid:0.
Writing a byte at a time...
done
Writing intelligently...done
Rewriting...done
Reading a byte at a time...done
Reading intelligently...done
start 'em...done...done...done...done...done...
Create files in sequential order...done.
Stat files in sequential order...done.
Delete files in sequential order...done.
Create files in random order...done.
Stat files in random order...done.
Delete files in random order...done.
Version 1.94 ------Sequential Output------ --Sequential Input-
--Random-
Concurrency 1 -Per Chr- --Block-- -Rewrite- -Per Chr- --Block--
--Seeks--
Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec
%CP
blackfin 300M 0 71 1729 99 624 99 211 99 14357 74 45.0
99
Latency 13047ms 16000us 31999us 48000us 636ms 528ms
Version 1.94 ------Sequential Create------ --------Random
Create--------
blackfin -Create-- --Read--- -Delete-- -Create-- --Read---
-Delete--
files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec
%CP
16 342 99 8427 99 296 79 348 100 10239 99 288
77
Latency 19999us 4000us 8000us 8000us 4000us 8000us
Files
Changes
Commits
Dependencies
Duplicates
Associations
Tags
File Name File Type File Size Posted By
No Files Were Found