At Thu, 06 Jun 2013 12:51:24 +0200, Hannes Reinecke wrote:
On 06/06/2013 12:40 PM, Jean Delvare wrote:
Hi Hannes,
Thanks for joining the discussion.
Le Thursday 06 June 2013 à 11:02 +0200, Hannes Reinecke a écrit :
On 06/06/2013 10:57 AM, Jean Delvare wrote:
Not sure about ata_generic. On the one hand, it is included in the initrd and thus loaded on all my machines. But OTOH it is not bound to any device on these systems. So the right solution might be teach mkinitrd to only embed ata_generic when it is really needed, rather than building it into the kernel. Michal? OTOH, if driver auto-loading ends up kicking in anyway due to modalias, and there is no easy way to avoid that, then having it built-in would be just as good. Unless driver loading order matters so that specific drivers are used first. I see that ata_piix is always loaded first on my 3 machines, this might be on purpose. I'll do some tests.
Argl. Please don't.
ata_generic is the absolute fallback if for some reason the system doesn't ship with ATA drivers for that particular HBA. Which _really_ shouldn't happen anymore.
Please do _not_ have this module built-in.
I just gave it a try, and did not hit any issue. My devices are still driven by the ata_piix driver. There must be some magic to give other drivers priority over ata_generic.
If the ata_generic module ends up being always loaded anyway, what's the problem with it being built-in instead?
Thanks for the pointer. The possibility to build sg into the kernel is mentioned in that bug as a recommendation from upstream udev developers. It's certainly worth trying, but then I don't know how the udev rule will behave (not sure if TEST=="[module/sg]" works when sg is built-in.)
The general idea here is to move over to 'bsg' for devices as far as udev is concerned. But that's a long-term goal, not sure whether we'll be able to pull that off in time for SLES12.
In general I'm _quite_ unhappy with having the SCSI subsystem built in.
Well the SCSI core and disk (sd) drivers are already built into the openSUSE kernel for quite some time. And they are modular in SLE. I see no good reason not to do the same for sg.
It might be okay for openSUSE, but for SLE it will become a maintenance nightmare. Try adding a PDLP driver for a built-in module ...
Sure, this is a valid concern. I have already agreed to leave sound and drm drivers modular because of this. But have you ever built a PLDP/KMP driver for sg or ata_generic?
Not for them. But I did an PLDP driver for Intels 'isci' driver, which required us to basically replace scsi_mod.ko. Which you couldn't do when it's built in.
You can still provide KMPs by renaming all relevant symbols. Actually this was a standard trick to make KMP working with SLE kernels when the replaced helper module is used by non-update modules. But, I fully agree that more modularization makes maintenance / updates a lot easier. Takashi -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-kernel+owner@opensuse.org