Thread (28 messages) 28 messages, 11 authors, 2008-01-02

Re: [PATCH] Force UNIX domain sockets to be built in

From: Jan Engelhardt <hidden>
Date: 2007-12-31 15:35:12
Also in: lkml

On Dec 31 2007 16:19, Bodo Eggert wrote:
Adrian Bunk wrote:
quoted
The only advantage I see is that the kernel image you have to flash 
can be made smaller - with the disadvantage that the running kernel
is bigger by more than 10%.

If you don't believe me, try it yourself:
Build all drivers statically into your kernel, and then compare the 
vmlinux sizes with CONFIG_MODULES=n and CONFIG_MODULES=y.
If you'd aim for a small kernel image, you would build anything as a module 
that is not requred for booting.
Yes, there is a tradeoff for both.

Example:
16:30 ichi:../net/802 > l fc.o fc.ko 
-rw-r--r-- 1 jengelh users 7961 Dec 27 15:19 fc.ko
-rw-r--r-- 1 jengelh users 2453 Dec 28 23:58 fc.o
(from a recent not-so-complete patch turning CONFIG_FC etc. into =m)

If fc was modular, it might save the 2453 bytes off the core kernel image,
but adds ~5508 bytes to disk.
So one has to pick =y or =m depending on whatever suits his/her situation.

But the choice should be _available_.
quoted
quoted
quoted
After all, changing it to a bool will allow us to make the
kernel image for nearly everyone smaller by a few hundred
bytes...
I can't see why optionally building it as a module would force us
to make the kernel bigger. It may be a little more ugly to
support =m, but thats it, isn't it?
On architectures like x86 where __exit code is freed at runtime 
af_unix_exit() makes your kernel image (but not the running kernel) 
bigger.

With CONFIG_MODULES=y the 13 EXPORT_SYMBOL's that only exist for
the theoretical possibility of CONIG_UNIX=m waste a few hundred
bytes of memory.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help