Compiling only "network" part of the kernel

Warren Block wblock at wonkity.com
Tue Dec 27 19:19:15 UTC 2011


On Tue, 27 Dec 2011, Damien Fleuriot wrote:
> On 12/27/11 3:51 PM, Warren Block wrote:
>> On Tue, 27 Dec 2011, Rajneesh Kumar wrote:
>>
>>> During my development, I want to check if my modules compile successfully
>>> or not. I am only changing the ARP portion and whenever I compile my
>>> kernel, it takes around 20mins and compiles all different modules also.
>>> I just want to compile and check whether my ARP modules, which I have
>>> changed, compile fine or not. How to do it?
>>
>> Others have mentioned ways to reduce what is rebuilt.  devel/ccache can
>> be used in combination with those.  Even by itself it ought to seriously
>> reduce kernel compile time.
>
> Would ccache also help with world/ports compile times ?

Yes, if some of it is already in the cache.  Ports change relatively 
rarely, so I don't use ccache for them.

> Are there any drawbacks to using it ? (the underlying question being: is
> it worthy of a production environment ?)

It needs cache space and probably slows things down a bit when code is
not already in the cache.  Some source updates invalidate a lot of the 
cache.  But no other problems I've noticed.

Times for 8-STABLE on an E8400 CPU, everything in the cache.

make -j4 buildworld:
Normal  19:41
ccache   6:02

make -j4 buildkernel (custom kernel):
Normal  8:43
ccache  2:47

Those are best-case times.  A typical ccache buildworld after csup to 
-stable is about 9 minutes on this system.


More information about the freebsd-net mailing list