On Sunday, March 20, 2005 09:34:53 AM -0600 Troy Benjegerdes <[EMAIL PROTECTED]> wrote:
> This issue would be a lot easier to sort out if the kernel and userland > code were clearly separated. Or at least the build process. Is there > documentation or whitepapers that I can look up at what afsd actually > does before handing off control to libafs in the kernel? I'm wondering > why both afsd and libafs are so big.
You can read src/afsd/afsd.c; it's actually a fairly simple program. I'm not sure why you believe afsd is 'big'; mine is all of 168K.
libafs is by far the biggest kernel module I have loaded..
Module Size Used by nfsd 258944 9 libafs 606052 2 ipv6 282752 18 nfs 220272 2 lockd 70768 3 nfsd,nfs sunrpc 162232 16 nfsd,nfs,lockd unix 32936 20
that plus another 160k from afsd plus whatever glibc dragged in..
... is nonsensical. You can't compare the size of a module with the size of a user-mode process; that's like trying to add apples and lawnmowers.
The 160k of afsd is demand-paged text, and so is "whatever glibc dragged in". It doesn't occupy any swap, EVER, and doesn't even occupy RAM unless it's actually running (or ran recently and hasn't been paged out) - which, for afsd, is very rarely once startup is complete.
Yes, libafs is pretty big. AFS has a fairly large feature set, and that one module contains the complete client implementation, including components that for NFS are split across several modules. Really, it's not that out of line when you compare it to the combined size of nfs, lockd, and sunrpc, and bear in mind the components that NFS does not have, like cache management.
FWIW, libafs is _not_ the largest module on my system. That honor goes to the nvidia driver, which weighs in at just over 4MB.
-- Jeffrey T. Hutzelman (N3NHS) <[EMAIL PROTECTED]> Sr. Research Systems Programmer School of Computer Science - Research Computing Facility Carnegie Mellon University - Pittsburgh, PA
_______________________________________________ OpenAFS-devel mailing list [email protected] https://lists.openafs.org/mailman/listinfo/openafs-devel
