On Mon, Jun 22, 2009 at 09:12:14AM +0200, Hannes Reinecke wrote:
I'm still not a fan of this, but in the absence of the ability to link in modules at install time, I guess the gains outweigh the drawbacks.
Why don't we do something about it?
I've already spent some thoughts about it, and come up with two possibilities:
- Link in modules during initrd run. Shouldn't be too hard, after all that's what the kernel does nowadays during building anyway. So just some linker magic and you're done. Drawback is that you'd need an uncompressed kernel to start with, so I'm not sure it's the right way to go - Implement something like the 'kexec-cache' from Max OS-X. OS-X has a 'kexec-cache', which allow to preload some kernel modules during boot. Implementing a similar thing on Linux we could just stuff the preloaded modules into a blob and load this as an additional initrd image. Then we could just call the ->init calls and everything would be dandy. Or that's the hope.
Big problem is that you need the .c files because you can have different code paths built in the file depending on if you are built to be a module or built into the kernel due to #ifdefs :( thanks, greg k-h -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-kernel+help@opensuse.org