>
> In article <Pine.LNX.3.91.960417013234.239D-100000@gytha.demon.co.uk> you wrote:
> : Hmm, shouldent the nfs module have no kernel threads running when it's
> : not in use (compiled in/insmoded, but no mounts (yet/anymore) ).
>
> The difficulty with kernel threads is that they are created by using
> sys_clone(), which means that they inherit everything from the process
> creating them, including its VM. This memory will not be released until
> both the kernel thread and the process on behalf of which it was created
> exit. This is the reason why nfsiod processes show up as insmod in the
> ps listing. The bad thing about spawning nfsiod's when needed is that
> if your first application happening to access a file on your NFS partition
> happens to be emacs, you will be left with 18 MB of swap space occupied
> for nothing.
>
It would be mount, I did say that active means that some filesystem tree
somewhere is mounted, not wether or not the tree is being accessed or not.
> I may change NFS to spawn and kill nfsiods when mounting/unmounting
> volumes, but that fixes only the symptoms module users are seeing.
> >From the ps point of view you're merely exchanging insmod for mount.
> Maybe a mechanism doing something like `init, please fork this kernel
> thread for me' is needed. Maybe there's also a simple way a kernel
> thread can release its associated VM, but I'm not aware of that.
>
hmm, a nfsiod process requested by nfs.o via kerneld ? (just a thought
out loud)
> : You (we) could have one nfsiod per imported tree, instead of 4 all at once
>
> With the current rpcsock implementation, one nfsiod can serve only one
> readahead request. Being able to serve 4 readahead requests in parallel
> is optimal for most uses. As I said, I'm currently rewriting rpcsock.c
> to use just one daemon.
>
Yes, I knew you were doing this (combining the 4 processes, not how or
why they were required).
> Olaf
> --
Bryn
-- PGP key pass phrase forgotten, \ Overload -- core meltdown sequence again :( | initiated. / This space is intentionally left | blank, apart from this text ;-) \____________________________________