Re: [Patch -mm 0/3] RFC: module unloading vs. release function

From: Cornelia Huck
Date: Tue Apr 17 2007 - 03:47:25 EST


On Mon, 16 Apr 2007 17:02:46 -0400 (EDT),
Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote:

> > No, only the core module has to stay. For example, every time you
> > register an input device you pin input.ko as it is the module that
> > provides ->release() method for input devices. You can freely unload
> > psmouse, or hid or your favorite joystick but input has to stay until
> > last reference to the input device is dropped. serio and gameport work
> > the same way.
> >
> > I think the requirement that one is not able to unload a core
> > subsystem module untill all users are dropped off is ok - you can't
> > unload it anyway until you unload all drivers that reference its
> > exported functions and once you unload all the drivers data objects
> > will drop off pretty quickly.
>
> The problem is that sometimes devices are owned by modules that aren't
> core subsystem modules. Or the code using a device doesn't depend on the
> device's owner module and therefore doesn't pin it.

Yes. For example, zfcp creates some devices itself that don't have any
relation to the ccw bus. (Other s390 drivers need a simple device; they
use a generic device creation routine that uses a release function that
is always built into s390 kernels.)
-
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/