On 07/20/2011 02:20 PM, Wolfgang Denk wrote: > Dear Valentin Longchamp, > > In message <4e26b523.3070...@keymile.com> you wrote: >> >> I have done a little bit of profiling this morning, and the main culprit is >> the >> call to getenv_f in post_get_flags for the four environment variables: >> >> "post_poweron", "post_normal", "post_slowtest" "post_critical" >> >> This is extremly slow on my system (before relocation). The goal of these env > > Are you by chance reading the environment from I2C attached EEPROM or > so? This is indeed a speed killer.
Yeah I had just figured that out by myself: our environement variables are in an I2C EEPROM, so every read is extremely slow at this poin in the boot process. For the second POST run (from RAM this time), the environment is then in RAM (thanks to env_relocate) and thus the calls to getenv_f much quicker. > >> variables is, I guess, to define the name of the tests that have to be run >> for >> each post level, right ? Is this the only way to define which tests are to >> be run ? > > To define the tests to be run, and the reaction that is needed if a > test fails. > > If your environment accesses are so slow, you should fix that anyway. > We are currently planning to move away from I2C EEPROM for environment (for future hardware), but what would you advise me to do for our current hardware where the environment is in this EEPROM ? -- Valentin Longchamp Embedded Software Engineer Hardware and Chip Integration ______________________________________ KEYMILE AG Schwarzenburgstr. 73 CH-3097 Liebefeld Phone +41 31 377 1318 Fax +41 31 377 1212 valentin.longch...@keymile.com www.keymile.com ______________________________________ KEYMILE: A Specialist as a Partner _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot