Re: Persistent module storage [was Linux 2.4 Status / TODO page]

James A. Sutherland
2000-11-06T17:56:46Z

On Mon, 06 Nov 2000, David Woodhouse wrote:
> jas88@cam.ac.uk said:
> > Except this isn't possible with the hardware in question! If it were,
> > there would be no problem. In cases where the hardware doesn't support
> > the functionality userspace "needs", why put the kludge in the kernel?
>
> > If userspace wants to know what settings it set last time, it should
> > store those values somewhere.
>
> No. You have to reset the hardware fully each time you load the module.
> Although you _expect_ it to be in the state in which you left it, you can't
> be sure of that.

If a reset is needed, I think it should come explicitly from userspace.

> jas88@cam.ac.uk said:
> > Eh? You just load the driver once, probably on boot, to configure sane
> > values. This time round, you use an argument (or an ioctl or whatever)
> > to specify the values you want. (cat /etc/sysconfig/sound/
> > defaultvolume > /dev/sound/mixer or whatever). After that, the module
> > can be unloaded and loaded as needed, without any need to touch the
> > mixer settings except in response to *explicit* "set volume" commands
> > from userspace.
>
> Agreed. Where 'whatever' == persistent storage of some form. I care not
> what form that takes. If you can store the data entirely in userspace and
> still have them present at the time the driver initialises the hardware,
> that's fine.

That's what I've been getting at all along...

Probably have a simple load and unload script, which dumps state to a file
on unload, and restores it on load. Whenever the module's state is not saved,
the refcount is >0, so you can't unload it without saving state.

James.