Do the fast-boot boogie

If you have a QNX-based system that needs to boot or restart quickly, check out Andy Gryc's recent paper, Meeting Early Boot Requirements with the QNX Neutrino RTOS. He provides details on several techniques, such as changing the order of waitfor statements in your build script to reduce overall boot time.

For instance, here's a boot scenario that uses the default waitfor order. As you can see, there are a couple of gaps (at about 130 ms and 400 ms) where nothing executes while a waitfor waits for a resource to become available:

Now here's the same system, but with optimized waitfor placement. As you can see, changing the order of waitfor statements has largely eliminated the idle gaps, shaving over 100 milliseconds off the boot time:

No comments: