Compiling only "network" part of the kernel

Damien Fleuriot ml at my.gd
Tue Dec 27 19:25:57 UTC 2011



On 12/27/11 8:19 PM, Warren Block wrote:
> 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.

That sounds good enough.

Are there any performance hits during production, as in, when not busy
rebuilding the world or whatever, just normal daily operation ?


More information about the freebsd-net mailing list