Messages in this thread | | | Date | Wed, 12 Jan 2000 00:15:46 +0100 | From | Jamie Lokier <> | Subject | Re: OOPS with slab cache |
| |
Horst von Brand wrote: > > __persistent in a module stores the data in a separate ELF section, > > when the code is builtin __persistent is a no-op. modutils and > > kernel/modules allocate and initialize storage for __persistent the > > first time the module is loaded. Unloading a module does not remove > > the __persistent data, reloading the module will reuse but not > > initialize the assigned storage. > > How large would that be? What about a piece of the module that just stays > put in the kernel (no special section loaded, etc)? If you want this for a > module, you'll probably want to initialize it at boot anyway.
Now that /is/ a nice idea. It shouldn't take much memory -- __persistant would probably be a small section that could be kmalloced.
/proc/ksyms would retain the address of the persistant data, just as it already retains other exported module symbols. In this case it would retain that one symbol even when the module is unloaded. That gives insmod an address to work with.
-- Jamie
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |