[U-Boot] [PATCH v5 07/20] env: Add support for callbacks to environment vars

Joe Hershberger joe.hershberger at gmail.com
Tue Jan 15 00:23:30 CET 2013


Hi Stefan,

On Fri, Jan 11, 2013 at 2:06 AM, Stefan Roese <sr at denx.de> wrote:
> Hi Joe,
>
> On 12/12/2012 05:16 AM, Joe Hershberger wrote:
>> Add support for per-variable callbacks to the "hashtable" functions.
>
> I just noticed using latest master branch that booting on a NOR
> flash based board (sequoia, PPC440EPx based) a quite big delay
> (1..2 seconds) is added upon env_relocate() (real delay happens
> in himport_r()). Digging a bit deeper results in this patch
> (170ab11 [env: Add support for callbacks to environment vars])
> started this regression:
>
> [ 36.208317] <  0.004802> U-Boot 2013.01-rc1-00385-g170ab11 (Jan 11 2013 - 08:58:59)
> [ 36.209012] <  0.000695>
> [ 36.215956] <  0.006944> CPU:   AMCC PowerPC 440EPx Rev. A at 528 MHz (PLB=132 OPB=66 EBC=66 PCI=33 MHz)
> [ 36.218730] <  0.002774>        Security/Kasumi support
> [ 36.224290] <  0.005560>        Bootstrap Option H - Boot ROM Location I2C (Addr 0x52)
> [ 36.229843] <  0.005553>        Internal PCI arbiter enabled, PCI async ext clock used
> [ 36.232704] <  0.002861>        32 kB I-Cache 32 kB D-Cache
> [ 36.240869] <  0.008165> Board: Sequoia - AMCC PPC440EPx Evaluation Board, Rev. F, PCI-Async=33 MHz
> [ 36.242261] <  0.001392> I2C:   ready
> [ 36.648652] <  0.406391> DRAM:  256 MiB
> [ 36.811658] <  0.163006> Flash: 64 MiB
> [ 36.813331] <  0.001673> NAND:  32 MiB
>
> himport_r()
>
> [ 37.808800] <  0.995469> PCI:   Bus Dev VenId DevId Class Int
> [ 37.816780] <  0.007980> USB:   Host(int phy) Device(ext phy)
> [ 37.820094] <  0.003314> Net:   ppc_4xx_eth0, ppc_4xx_eth1
>
> Here you see the delay in himport_r() is approx 1 second.
>
> And with patch (2598090 [env: Add environment variable flags]) this
> delay even grows to 2 seconds:
>
> [  3.096149] <  0.004800> U-Boot 2013.01-rc1-00392-g2598090 (Jan 11 2013 - 08:55:45)
> [  3.096853] <  0.000704>
> [  3.103805] <  0.006952> CPU:   AMCC PowerPC 440EPx Rev. A at 528 MHz (PLB=132 OPB=66 EBC=66 PCI=33 MHz)
> [  3.106575] <  0.002770>        Security/Kasumi support
> [  3.112135] <  0.005560>        Bootstrap Option H - Boot ROM Location I2C (Addr 0x52)
> [  3.117683] <  0.005548>        Internal PCI arbiter enabled, PCI async ext clock used
> [  3.120548] <  0.002865>        32 kB I-Cache 32 kB D-Cache
> [  3.128716] <  0.008168> Board: Sequoia - AMCC PPC440EPx Evaluation Board, Rev. F, PCI-Async=33 MHz
> [  3.130099] <  0.001383> I2C:   ready
> [  3.536470] <  0.406371> DRAM:  256 MiB
> [  3.699894] <  0.163424> Flash: 64 MiB
> [  3.701553] <  0.001659> NAND:  32 MiB
>
> himport_r()
>
> [  5.690365] <  1.988812> PCI:   Bus Dev VenId DevId Class Int
> [  5.698395] <  0.008030> USB:   Host(int phy) Device(ext phy)
> [  5.701709] <  0.003314> Net:   ppc_4xx_eth0, ppc_4xx_eth1
>
>
> Joe, I didn't dig deeper into these functions and patches. Do you
> have an idea why these patches introduce this delay? Can you
> reproduce this on one of your boards? Has anybody else noticed
> such issues?

That is far more than I would expect.  Let me have a look at it.
Thanks for bringing this up.

Do you have an extremely large env?

Thanks,
-Joe


More information about the U-Boot mailing list