[U-Boot] Testing Data Cache for armv7 (beagleboard)

Heiko Schocher hs at denx.de
Thu Oct 7 08:14:17 CEST 2010


Hello Chris,

chris chriss wrote:
> I'm trying to test the cache on my beagle with a snapshot from the git tree
> today.  I tried it out by loading a file from the mmc with dcache off and
> then dcache on.  I didn't see any difference in speed.  After reading this
> commit (http://git.denx.de/?p=u-boot.git;a=commit;h=95c6f6d), I expected to
> see a performance improvement.

Here a log which actual reloacte code from Albert Aribaud and
my fix patch for the beagle on the beagle board:

 170.880 U-Boot 2010.09-00102-g456a0da-dirty (Oct 05 2010 - 14:41:10)
 170.880
 170.920 OMAP3530-GP ES3.0, CPU-OPP2, L3-165MHz, Max CPU Clock 600 mHz
 170.920 OMAP3 Beagle board + LPDDR/NAND
 170.960 I2C:   ready
 170.960 DRAM:  128 MiB
 171.000 NAND:  256 MiB
 174.000 In:    serial
 174.000 Out:   serial
 174.000 Err:   serial
 174.000 Beagle Rev C1/C2/C3
 174.360 Die ID #00b000030000000004013f8a1700900c
 175.200 Hit any key to stop autoboot:  0
 175.440 OMAP3 beagleboard.org #
 178.280 OMAP3 beagleboard.org # ica off
 178.280 Instruction Cache is OFF
 180.480 OMAP3 beagleboard.org # dca off
 180.480 Data (writethrough) Cache is OFF
 183.520 OMAP3 beagleboard.org # echo start ; nand read 80800000 0 7000000 ; echo stop
   0.000 start
   0.000
   0.000 NAND read: device 0 offset 0x0, size 0x7000000
 114.040 NAND read from offset 0 failed -74
 114.040  117440512 bytes read: ERROR
 114.040 stop
 135.880 OMAP3 beagleboard.org # ica on
 135.880 Instruction Cache is ON
 138.280 OMAP3 beagleboard.org # echo start ; nand read 80800000 0 7000000 ; echo stop
   0.000 start
   0.000
   0.000 NAND read: device 0 offset 0x0, size 0x7000000
  95.120 NAND read from offset 0 failed -74
  95.120  117440512 bytes read: ERROR
  95.120 stop
 160.880 OMAP3 beagleboard.org # dca on
 160.880 Data (writethrough) Cache is ON
 164.600 OMAP3 beagleboard.org # ica on
 164.600 Instruction Cache is ON
 166.080 OMAP3 beagleboard.org # echo start ; nand read 80800000 0 7000000 ; echo stop
   0.000 start
   0.000
   0.000 NAND read: device 0 offset 0x0, size 0x7000000
  26.680 NAND read from offset 0 failed -74
  26.680  117440512 bytes read: ERROR
  26.680 stop

> This is a capture of how I tested it...
> 
> <capture>
> 
> OMAP3 beagleboard.org # mmc init 1
> mmc1 is available
> OMAP3 beagleboard.org # dcache
> Data (writethrough) Cache is OFF
> OMAP3 beagleboard.org # fatload mmc 0:1 0x80000000 uImage.bin
> reading uImage.bin
> 
> 3852836 bytes read
> OMAP3 beagleboard.org # dcache on
> Data (writethrough) Cache is ON
> OMAP3 beagleboard.org # fatload mmc 0:1 0x80000000 uImage.bin
> reading uImage.bin
> 
> 3852836 bytes read
> OMAP3 beagleboard.org #
> 
> </capture>

How did you measured the time between start an end?

Maybe uImage.bin is a little bit to small for seeing some
effect?

bye,
Heiko


More information about the U-Boot mailing list