2008-01-30 14:24:54

by Steve Dickson

[permalink] [raw]
Subject: nfsd module refcount is out of control....

Has anybody noticed that bring up kNFSD (using a 2.6.24 kernel)
causes 17 modules references on nfsd?

# lsmod | grep nfsd
nfsd 201584 17
lockd 60488 2 nfsd
nfs_acl 6656 1 nfsd
auth_rpcgss 39360 1 nfsd
exportfs 7936 1 nfsd
sunrpc 157892 10 nfsd,lockd,nfs_acl,auth_rpcgss

It appears one of the culprits is svc_set_num_threads() since
it does a module_get() for every thread, which seems a bit
excessive imho... What happen to the idea of the first thread
creating the refcount and the last thread removing the
refcount?

Anyways, I don't see any routine removing all those
refcounts. Should something like svc_exit_thread() be
doing the module_put() since svc_set_num_threads did
all those gets? If not, how are all those refcounts
suppose to be removed?

Also, does anybody have clue as to why auth_rpcgss is
being insmod-ed when there are no secure exports
defined?

tia,

steved.