From: Matt Domsch <Matt_Domsch@dell.com>
To: Andreas Gruenbacher <agruen@suse.de>
Cc: Rusty Russell <rusty@rustcorp.com.au>, Greg KH <greg@kroah.com>,
Christoph Hellwig <hch@infradead.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 2.6.11-rc2] modules: add version and srcversion to sysfs
Date: Thu, 27 Jan 2005 11:03:41 -0600 [thread overview]
Message-ID: <20050127170341.GA10491@lists.us.dell.com> (raw)
In-Reply-To: <1106757530.13004.220.camel@winden.suse.de>
On Wed, Jan 26, 2005 at 05:38:51PM +0100, Andreas Gruenbacher wrote:
> > The autoinstaller feature,
> > for example, which determines if your system has a "good" version of a
> > driver (i.e. if the one provided by DKMS has a newer verson than that
> > provided by the kernel package installed), and to automatically
> > compile and install a newer version if DKMS has it but your kernel
> > doesn't yet have that version.
>
> I find the autoinstaller feature quite scary.
The autoinstaller itself is mechanism. When it's invoked is a policy
decision. I described the policies that Dell employs with it in my
OLS paper last summer. For non-distribution-provided drivers
(ppp_mppe, ALSA in some cases, 3rd party video), the autoinstaller is
enabled, and it rebuilds and installs those drivers at new kernel boot
time.
For distribution-provided drivers, we default the autoinstaller
off. But, this has bitten us. RHEL3 Update 2 and Update 3 both
shipped with an aacraid (boot storage) driver that crashed the kernel
on insmod. As fate would have it, Dell provided an updated driver
source package in DKMS format to solve this. An intelligent
autoinstaller could have looked at the version fields and determined
that what was in the "newest" Update kernel was in fact older than
what DKMS had available to it, and used that instead. Which is why
we've been pushing for MODULE_VERSION() fields in all the drivers, and
why the srcversion field can exist for all drivers now.
> > b) Because tools like DKMS can switch out modules, you can't count on
> > 'modinfo foo.ko', which looks at
> > /lib/modules/${kernelver}/... actually matching what is loaded into
> > the kernel already. Hence asking sysfs for this.
>
> DKMS doesn't manage loading modules, does it? If it does, then at least
> it shouldn't; that's even more scary than the autoinstaller. From the
> point of view of the kernel, the modules relevant for the running kernel
> are those below /lib/modules/$(uname -r)/. If DKMS replaces things
> there, it'd better keep proper track of what it did.
It does keep track, quite well.
> I never want to see DKMS try to remove a module from the running kernel
> or insmod a new one.
Ahh, but that's a policy decision to be made. I don't have a
production example of needing to do this yet, so it doesn't. But I
wouldn't rule out the future need for such. (i.e. wanting to
automate upgrading a NIC driver without rebooting the server).
> > c) as the unbind-driver-from-device work takes shape, it will be
> > possible to rebind a driver that's built-in (no .ko to modinfo for the
> > version) to a newly loaded module. sysfs will have the
> > currently-built-in version info, for comparison.
As it happens, right now built-in modules don't have modinfo sections,
so this piece doesn't work. There's no way to ask the kernel for the
version of built-in modules then, it doesn't know. But with unbind
happening, that will be useful information to have, I'll have to look
into building parts of that section in. Thanks for pointing this
deficiency out.
Thanks,
Matt
--
Matt Domsch
Software Architect
Dell Linux Solutions linux.dell.com & www.dell.com/linux
Linux on Dell mailing lists @ http://lists.us.dell.com
next prev parent reply other threads:[~2005-01-27 17:07 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20050119171357.GA16136@lst.de>
[not found] ` <20050119172106.GB32702@kroah.com>
[not found] ` <20050119213924.GG5508@us.ibm.com>
[not found] ` <20050119224016.GA5086@kroah.com>
[not found] ` <20050119230350.GA23553@infradead.org>
[not found] ` <20050119230855.GA5646@kroah.com>
[not found] ` <20050119231559.GA10404@lists.us.dell.com>
[not found] ` <20050119234219.GA6294@kroah.com>
2005-01-26 6:05 ` [PATCH 2.6.11-rc2] modules: add version and srcversion to sysfs Matt Domsch
2005-01-26 9:22 ` Andreas Gruenbacher
2005-01-26 14:09 ` Matt Domsch
2005-01-26 16:38 ` Andreas Gruenbacher
2005-01-27 17:03 ` Matt Domsch [this message]
2005-01-27 17:41 ` Bill Davidsen
2005-01-26 14:32 ` Paulo Marques
2005-01-27 2:10 ` Rusty Russell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20050127170341.GA10491@lists.us.dell.com \
--to=matt_domsch@dell.com \
--cc=agruen@suse.de \
--cc=greg@kroah.com \
--cc=hch@infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=rusty@rustcorp.com.au \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox