[#4827] BF548 Nor flash error running bonnie++

Document created by Aaronwu Employee on Aug 30, 2013
Version 1Show Document
  • View in full screen mode

[#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

Attachments

    Outcomes