[OpenAFS-devel] configure not honoring 'CC' environment variable
Troy Benjegerdes
hozer@hozed.org
Sun, 20 Mar 2005 09:34:53 -0600
> >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..
>
> >What happens if I have a 32 bit userland, and a 64 bit kernel, for
> >example. So far I've always punted and built all of afs 64 bit.
>
> With the exception of afsd, we are rapidly approaching the point where
> 32-bit userland tools can be expected to work on most of the 64-bit Linux
> platforms. As of the 1.3.80 release due out shortly, I expect this will
> work for any process using the /proc interface (wihch is the case for
> anything linked against a reasonably modern version of either the OpenAFS
> libraries or KTH's libkafs), and for processes using the syscall interface
> on those architectures where we successfully locate and patch the secondary
> 32-bit syscall table. You will be able to tell if this works by looking at
> dmesg output after loading the libafs module; it print either the address
> of the 32-bit syscall table, or a message indicating it could not be
> located.
>
> There is currently no guarantee that a 32-bit afsd will work with a 64-bit
> kernel. For this to work, the kernel code would have to translate some of
> the data structures passed in by a 32-bit afsd, and I don't believe the
> analysis has been done to determine which structures are affected and make
> sure they are handled.
In this case, I'd say the build process for afsd and the kernel should
be separated from the rest of the userland tools. But then I suppose
afsd still needs all the libraries, which is a big chunk of the build.