Experimental Physics and
| |||||||||||||||
|
Hi all, After adding a lot of debug messages, I found where so much time is spent. As some of you suspected and I doubted, the network interface is involved but in an unexpected way. Memory setup also has a part in consuming boot time. I had enabled the second network interface by defining INCLUDE_SECONDARY_ENET in config.h. Unfortunately, the result was that fei82557EndLoad() in fei82557End.c tried auto negotiation on the unconnected secondary interface for 20 seconds. It did so in the boot loader and again at vxWorks startup. To shorten boot time, I have undefined INCLUDE_SECONDARY_ENET in bootConfig.c (I don't want to boot from that interface). I've also hacked fei82557End.c not to try auto negotiation if it can't find a carrier signal and not to retry if the first attempt failed. I found that I still could use the secondary interface at 100MBS when I connect it later. How the time is spent now: It takes 5 seconds until usrInit() is called. For each enabled network interface it takes 3 seconds to read the 82557 EEPROM. Auto negotiation needs 1.5 seconds if the network interface is connected. It still needs about 10 seconds after power on or reset before the first message is printed. I hope when I use BATs instead of PTEs, I can save another 5 seconds or so. Thanks to all for the helpful suggestions. Dirk -- Dr. Dirk Zimoch Swiss Light Source Paul Scherrer Institut Computing and Controls phone +41 56 310 5182 fax +41 56 310 4413
| ||||||||||||||
ANJ, 10 Aug 2010 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing · |