Mailinglist Archive: opensuse-kernel (59 mails)

< Previous Next >
Re: [opensuse-kernel] Moblin kernel merged to FACTORY
  • From: Jeff Mahoney <jeffm@xxxxxxxx>
  • Date: Tue, 23 Jun 2009 12:17:17 -0400
  • Message-id: <4A41000D.5070104@xxxxxxxx>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Greg KH wrote:
If you build any code as a module, any of these different levels all
change to be the "generic" module_init() call, which runs after all of
these 8 levels runs. So you can't work backwards and figure out what
level of init call the module really wanted to be run at if you only
have a .o file.

And then, within the different init call levels, we call the functions
in the order in which they are linked into the kernel, which is driven
by the Makefile. If you look at some of the recent changes that were
made for "fastboot", we reoder the Makefiles to allow some things to run
in parallel before others do (like ata drivers very early, before other
drivers in the same run level to take advantage of the slowness of those
initialization sequences).

So if you just take the module init sections, and run them some time
after all of the above sections run, then you don't get the same
speedups that we need.

Not having that information in the module is a file size optimization,
not a real requirement. We could easily link in the initcall*.init
sections into the modules and then use them for proper ordering when we
relink the kernel. Since the initcall sections are consolidated into one
during the original link, we would have to add a trampoline initcall to
the end of each section to call out to the linked in ones. Since they'd
be at the end of the runlevel, the ordering would be preserved.

- -Jeff

- --
Jeff Mahoney
SUSE Labs
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.9 (GNU/Linux)
Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org

iEYEARECAAYFAkpBAA0ACgkQLPWxlyuTD7IX9QCeI8sBFJSmaL7nJz5sPzTrZ0dA
CCMAoJ8imBywEqW6t/Sil9k1qFEFtbdA
=ME8+
-----END PGP SIGNATURE-----
--
To unsubscribe, e-mail: opensuse-kernel+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-kernel+help@xxxxxxxxxxxx

< Previous Next >
Follow Ups