Re: [PATCH] Kmod optimization

From: Greg KH
Date: Thu Apr 13 2006 - 19:15:53 EST


On Thu, Apr 13, 2006 at 09:04:12PM +0200, tyler@xxxxxxxx wrote:
> On Thu, Apr 13, 2006 at 11:50:14AM -0700, Greg KH wrote:
> > On Thu, Apr 13, 2006 at 08:36:17PM +0200, tyler@xxxxxxxx wrote:
> > > On Thu, Apr 13, 2006 at 11:24:01AM -0700, Greg KH wrote:
> > > > On Thu, Apr 13, 2006 at 08:03:45PM +0200, tyler@xxxxxxxx wrote:
> > > > > Hi,
> > > > >
> > > > > the request_mod functions try to load automatically a module by running
> > > > > a user mode process helper (modprobe).
> > > > >
> > > > > The user process is launched even if the module is already loaded. I
> > > > > think it would be better to test if the module is already loaded.
> > > >
> > > > Does this cause a problem somehow? request_mod is called _very_
> > > > infrequently from a normal kernel these days, so I really don't think
> > > > this is necessary.
> > >
> > > Yes I agree it _should_ be very infrequently called but it _will_ be very
> > > infrequently called just if the user space configuration is done properly.
> >
> > What do you mean by this? Almost all 2.6 distros use udev today, which
> > prevents this code from ever getting called. So odds are, you are
> > optimising something that no one will ever use :)
> Well perhaps I don't understand the mechanism :) But let's take an
> example.
> On all kernels (even recent), if the module smbfs is loaded, it's not
> handled by udev and request_module could be called.
>
> Let"s take another example to see to illustrate why I think
> it depends on the user configuration :
> module A depends on module B
>
> if we have a script which do "insmod moduleA.ko ; insmod moduleB.ko",
> there will be a call to request_module.

No, that script will fail. Try it out :)

The kernel will not call out to try to resolve the symbols, that's up to
userspace to handle. Hint, try running 'modprobe moduleA.ko' instead,
it will handle the dependancies correctly.

I still don't see where this is really needed...

thanks,

greg k-h
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/