kerneld module unloading timing

Aaron Ucko (UCKO@vax1.rockhurst.edu)
Sun, 12 May 1996 23:06:52 -0600 (CST)


>Some people (including me) complained about kerneld removing modules just
>after the last use. The problem is that kerneld remove the module after the
>time specified by the 'delay' parameter counting from _loading_ and not
>after the last use. Of course, it is so because kerneld has no idea, when
>the module was used after loading it.
>
>Couldn't we just send the appropriate message to kerneld when the filesystem
>is being mounted or /dev/fd0 opened ? The only thing we would have to do
>will be to add message sending in the places where kerneld is called to load
>the module. For example, we would have to change super.c from:
>
>[rest of message deleted]

For best effect, kerneld should also have a user-tunable timeout for
unloading such that a module is unloaded if and only if (a) kerneld has
not heard anything from the module during that time period and (b) the
module's usage count has been 0 whenever kerneld checked during that
period. That way unused modules could stay around for (say) 5 minutes
before being unloaded unless they are used before then.

-- Aaron Ucko (ucko@vax1.rockhurst.edu; finger for PGP public key) | httyp!
"That's right," he said. "We're philosophers. We think, therefore we am."
-- Terry Pratchett, _Small Gods_ | Geek Code 3.1 [for explanation, finger
hayden@mankato.msus.edu]: GCS/M/S/C d- s: a18 C++(+++)>++++ UL++>++++ P++
L++>+++++ E- W(-) N++(+) o+ K- w--- O M@ V-(--) PS++(+++) PE- Y(+) PGP(+) t(+)
!5 X-- R(-) tv-@ b++(+++) DI+ !D-- G++(+++) e->+++++(*) h!>+ r-(--)>+++ y?