jakub at redhat.com
Tue Sep 11 15:58:27 UTC 2007
On Tue, Sep 11, 2007 at 05:40:27PM +0200, Harald Hoyer wrote:
> >A while back I did some experiments with systemtap and found that
> >modprobe was doing a linear search through modules.deps:
> >I wrote a script that would prepend the modules that are actually used
> >to the beginning of modules.dep to reduce the average length of search.
> >This reduced the amount of data read (and time spent waiting for I/O)
> >and slightly reduced the time to boot the machine. Bootchart samples
> >process state periodically. Below is some of the data extracted from the
> >bootchart samples:
> > all states D state
> > modprobe modprobe
> > samples samples
> >normal modules.dep 120 73
> >reordered modules.deps 63 27
> >Having to linearly through 250K of text in modules.dep each time a
> >module is loaded doesn't seem very efficient.
> Problem is, that most of the modprobes with a modalias are not existent and
> so every line is parsed.
If modules.dep searching really takes significant time, then there is always
an option to precompile it into a more efficient format, e.g. more compact,
with a hash table or whatever best matches modprobe's use.
More information about the fedora-devel-list