[U-Boot] Why would ubi attach take 5 hours to complete sometimes?
Ram Subramanian
needmoarram at gmail.com
Mon Jul 1 21:49:59 UTC 2019
Hi U-boot hackers,
I have an embedded device which has one ubi partition on a NAND chip, and
for about a year now since it's been in use, I've never had any problems
happen during boot or generally in u-boot.
But recently, I've noticed that booting takes variable amounts of time,
ranging all the way from 15 minutes to 5 hours. Here's the log of when it
happens:
ubi0: attaching mtd1
ubi0: scanning is finished
<< the LONG pause happens here >>
ubi0: attached mtd1 (name "mtd=2", size 992 MiB)
ubi0: PEB size: 262144 bytes (256 KiB), LEB size: 253952 bytes
ubi0: min./max. I/O unit sizes: 4096/4096, sub-page size 4096
Since I don't have debug flags enabled in this u-boot, I have no idea what
it doing during that time. Looking at the source code, it could either be
doing something inside ubi_wl_init() or ubi_eba_init(), but neither of
those really explain why it could take as long as 5 hours.
It's also worth noting that I just recently crossed 8000 erase cycles (the
max_ec count) on the nand chip, and my WL_THRESHOLD is set to 4096.
So my question is, is it a valid assumption that u-boot is indeed spending
bulk of the time during the long pause wear leveling, or could it be doing
something else?
Thanks for reading!
Ram
More information about the U-Boot
mailing list