On Sun, Sep 06, 2009 at 12:26:32AM +0200, Jan Engelhardt wrote:
On Saturday 2009-09-05 23:32, Greg KH wrote:
On Sat, Sep 05, 2009 at 09:59:34PM +0200, Jan Engelhardt wrote:
On Saturday 2009-09-05 21:51, Greg KH wrote:
Yes, this is true, but the original question was referring to the -rt kernels, which I did not touch.
Anyway, what's the problem of having these drivers built into the kernel and not a module?
That your kernel grows when doing that, and ipv6 itself already contributes like 230K. scsi_mod another 140K, just to name two. Even if you end up using them, it seems fancier having them as modules
But it's slower to boot. And 99% of all systems that we ship load both of those modules.
Yes, for _these two_ I would agree. But the other "99%" of options changed - I do not. Basically because there are far fewer than 99% running all that specific hardware at the same time.
* CONFIG_ATA_PIIX, CONFIG_SATA_AHCI - tho my chip is PATA_SIS, or PATA_ALI/PATA_VIA, whichever comes around
AHCI is much more popular.
* CONFIG_HID - tho periph is PS2 keyboard/mouse
Majority of systems have a USB keyboard or mouse.
* CONFIG_HWMON, CONFIG_I2C - for one desktop I always get bogus values with sensors(8), so I am counting it towards "not using hwmon/i2c"
Other drivers needed it.
* CONFIG_LEDS_CLASS - have not seen this on x86 at all
Then you haven't been paying attention :)
* CONFIG_LIB80211 - wireless is done by a dedicated device
But wireless drivers need it.
* CONFIG_RTC_CLASS - only seen this on x86; and I wonder if anything on a desktop besides mplayer & co, and hwclock(8) uses the rtc.
Yes, your boot scripts need it, so it is _much_ faster to have it in the kernel, you can save a few _seconds_ by putting it in the kernel.
* CONFIG_SOUND - well I dunno, I commonly keep servers without sound.
Then you will not mind it being there :)
* CONFIG_USB_[EOU]HCI_HCD - I am guaranteed to not have at least one of those HCIs.
True, so how do I know ahead of time which one it is?
* CONFIG_USB_STORAGE - also something I may not be using
But the majority of the world is.
* CONFIG_X86_MSR, CONFIG_X86_CPUID - never ever used. Never seen it in lsmod, hence there seem to be no programs using it.
Your boot sequence needs it.
All reasons for me to not have them =y at all times.
And, by building them into the kernel, you actually save a bit of space, as the kernel can throw away the __init section, which it does not for kernel modules.
Why is that, what requires __init sections of modules?
It's the way kernel code works. It can throw away code sections that it knows it is not going to need after startup. For the same code as a module, it does not.
[N.B. Over the past year, the amount of modules loaded in a Linux system rose near the number of the modules loaded in a Solaris 11beta system.]
Does it actually affect overall performace and is it faster than the increase in processor power and memory sizes?
I dunno, I just used it for a specific development task some year ago.
What do you mean by this? We need to build these things in if we want a fast boot sequence. Right now, with these options, we are running sub-1-second boot out of the kernel to init. A full init sequence from power on is taking 2-3 seconds right now. So stuff like this is necessary if you want fast booting on your machine. If you have some numbers as to exactly how much memory this is "wasting" and can show us how to get the speed back, I would love to hear it. thanks, greg k-h -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-kernel+help@opensuse.org