LS1021A performance

Renaud Barbier Renaud.Barbier at ametek.com
Thu Mar 30 08:17:27 PDT 2023


> > > Can you compare SHA256 instead and see if the difference is still as stark?
> > > Make sure that CONFIG_DIGEST_SHA256_ARM is enabled.
> > The SHA256 is enabled. SHA256 on a 1 MB file:
> > Barebox: 843ms
> > Linux:
> > [root at openware]# time sha256sum /tmp/mtd0
> > eef67a3327e3eaa50ee7b1dad87901465f00d76a6308e360a2fedab82c79f493
> > /tmp/mtd0
> >
> > real    0m0.059s
> > user    0m0.056s
> > sys     0m0.001s
> >
> > On another note, the boot loader using the LS1021A is much slower than
> using the PPC P1014.
> > I compare those two as we used the LS1021A as a replacement for P1014
> > on a board (same peripherals, same boot sequence) The P1014 reach the
> prompt in 200ms while the LS1021 takes 700ms.
> >
> > Also, I noticed that the pageflags is different for the DDR memory on
> Barebox and Linux as seen by the Lauterbach:
> > Barebox: write-back/no allocate
> > Linux : Inner:write-back/allocate outer: write-back/allocate Could
> > that mean the L2 cache Is not used?
> > >
> > > Do barebox and Linux run at the same CPU frequency?
> > According to the Lauterbach, clock ratio have not changed in the
> > clocking registers
> > >
> 
> As the LS1021A is based on a Cortex A7 your board lowlevel init needs to call
> cortex_a7_lowlevel_init() for the caches to work properly.
> 
> It's probably a good idea to add a ls1021 lowlevel init function which calls both
> of those functions together, like imx6ul_cpu_lowlevel_init().
> 

With this function call, the boot loader boots 3 times faster and sha256sum for 1MB dropped to 118ms from 843ms
This now breaks the gianfar Ethernet driver which likely needs cache flush or dma allocated descriptors.

Thanks.


More information about the barebox mailing list