On Jan 5, 2008 2:13 PM, Stefan Reinauer stepan@coresystems.de wrote:
Carl-Daniel Hailfinger wrote:
Check for a terminating LAR member which tells us that no further LAR member except the bootblock will be found after this member. The LAR member has a normal MAGIC, but all other parts of struct lar_header are 0xff. That way, adding a new member in place of the terminating member will not need an erase cycle.
I don't see a gain in this. Since we know the position and size of the lar archive anyways, we know nothing will come after the bootblock.
OK, I'm back. Stefan, we don't really need this for correctness. But on the alix1c I am observing huge delays at startup while find_file iterates through 512KB of empty FLASH looking for entries that are not there. So the goal here is to have a header which says "I'm the last one" so we can short-circuit scanning all of flash. This one change will shave quite a few seconds from boot time.
There should not be any headers that do not belong to real "files" in the lar, that would be breaking our model.
The model is fine, it's just slow. This is a performance patch.None of us anticipated the slowness of walking FLASH looking for LAR headers.
thanks
ron