Fiasco & L4 boot performance
arttu.pulli at nomovok.com
Wed May 6 08:39:48 CEST 2015
I'm working on optimizing the boot time of our Fiasco/L4Re based system.
So far I've implemented some simple optimizations, like using fixed
delay loop calibration value, disabling prints (is there some
centralized way to disable all printing for the whole system?), and
removing all unnecessary IO configurations which helped quite a bit.
However, I'm pretty new to L4 and Fiasco, so I wanted to ask if you'd
have some tips & tricks (no matter how arcane) on improving either the
boot performance or reducing the resulting image size? My current boot
time on an iMX6Q board from after U-Boot gives execution to L4 to my own
L4 app is ~225 ms, and the resulting image size is 2.8 MB (1.2 MB LZO'ed).
Do those numbers sound like there is anything to be gained anymore, or
are those close to some maybe-known lower limits already?
Regarding IO initialization, is there any way to perform some of the IO
inits later on instead of when IO starts during boot time? My goal is to
have my own L4 app running as fast as possible, and boot L4Linux after
that. The problem is, the IO configs for the L4Linux take a lot of time,
so I'd much rather invoke them at the latest possible moment.
I've also removed all unnecessary modules from the modules.list
configuration file, I take it that this means no unnecessary stuff is
added to the image even though most everything is compiled at build time?
More information about the l4-hackers