Messages in this thread | | | Date | Wed, 18 May 2011 14:34:51 -0700 | From | Greg KH <> | Subject | Re: module boot time (was Re: [PATCH] module: Use binary search in lookup_symbol()) |
| |
On Wed, May 18, 2011 at 02:10:15PM -0700, Tim Bird wrote: > >>> And why do people overly care for the load time? > >> > >> To reduce overall boot time. > > > > To reduce it even more, build the modules into the kernel :) > > That's what I do most of the time. For some projects, > it is useful to build certain things as modules so you can > defer initializing them until later in the boot sequence. > You can get some critical user-space tasks running, then > come back later to initialize USB and other drivers. > On cameras, it's not uncommon to want to get to user > space in the first 500 milliseconds.
That's common even on desktops and servers, and using the bootchart code in the kernel helps find those bottlenecks.
> Sony has some code which allows us to both statically link > drivers and defer their initialization, but it's kind of > kludgy and requires modifying the module declarations > for the code you want to defer. Let me know if you think > this is worth doing an RFC about.
I don't think that's worth it, there has been talk, and some initial code, about adding kernel modules to the kernel image itself, which would solve a lot of the i/o time of loading modules, and solves some other boot speed problems. That work was done by Jeff Mahoney, but I think he ran into some "interesting" linker issues and had to shelve it due to a lack of time :(
thanks,
greg k-h
| |