
Hi,
On 03/19/2015 02:41 PM, Yegor Yefremov wrote:
I've got v2015.04-rc4 running on my custom am335x (600MHz) based board. My 8-bit NAND chip:
[17.297793 0.004021] omap-gpmc 50000000.gpmc: GPMC revision 6.0 [17.303850 0.006057] nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xda [17.309706 0.005856] nand: Micron MT29F2G08ABAEAWP [17.312823 0.003117] nand: 256MiB, SLC, page size: 2048, OOB size: 64 [17.317311 0.004488] nand: using OMAP_ECC_BCH8_CODE_HW ECC scheme
I need to load about 17Mb FIT image from UBIFS partition. In Linux it takes about 7 seconds:
# time cp /mnt/kernel-fit.itb /tmp/ real 0m 7.12s user 0m 0.00s sys 0m 6.89s
But U-Boot needs about twice the time:
On my boards, I didn't load the uImage through UBIFS but directly from the raw mtdblock device. That might make a significant difference, depending on how UBIFS is implemented in U-Boot. For performance tests, I recommend you compare the numbers using 'dd' from the mtdblock device under Linux, and 'nand read.i' from U-Boot.
Linux will, however, still be faster due to DMA, which is unsuable from U-Boot due to the lack of interrupt handlers. But in my tests, enabling the prefetch mode in U-Boot gave me a speed-up of roughly factor 2 IIRC.
Thanks, Daniel