[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [adam@flounder.net: Re: testing and no release schedule]

Russell Coker wrote:
> On Tue, 30 Mar 2004 05:37, Thiemo Seufer <ica2_ts@csv.ica.uni-stuttgart.de> 
> wrote:
> > Matthias Urlichs wrote:
> > > Hi, Ingo Juergensmann wrote:
> > > > However, I'm quite "confused" about those "This is a buildd, please do
> > > > not use it for manual builds!" motds on some machines. Makes no sense
> > > > to me.
> > >
> > > Context switches eat into those machines' cache, thus two compile jobs in
> > > parallel run N times slower than the same compile jobs in sequence.
> >
> > Context switches don't eat any interesting amount of performance
> > on the usual buildd hardware. And quite on the contrary, parallel
> > compiler runs tend to be faster even on a UP machine with enough
> > ram, because the disk I/O is scheduled better.
> That depends on the hardware.  When using a machine with a moderately fast CPU 
> and two disks in a RAID-1 configuration I have not noticed any significant 
> benefit in building with -J2 or in doing two builds at the same time.
> Having two compiles running at the same time means that when one process 
> blocks on IO the other can use CPU time.  The trade-off of this is that two 
> processes means that there is less memory available for cache, and that cache 
> memory is divided between the two processes.

Sure, it increases cache pressure a bit. Note the "with enough ram"
boilerplate above. :-)

> If you have a machine with 256M 
> of RAM that is compiling a kernel then the cache will be very effective 
> (everything you use in the source tree will fit).  If you have two kernel 
> builds on the same machine then as soon as you un-tar the second source tree 
> you start kicking the first one out of cache.

Which is a very slight degradation, given that most of the source
files will only be used once. The active data set is much smaller
that the whole source tree.

> I agree that context switching is not going to cause any significant harm on 
> most machines.  But disk cache use is a more serious issue.  On a modern 
> machine with a couple of Gig of RAM it probably won't be a problem to have a 
> dozen compiles running at the same time on account of disk cache.  On an 
> older and smaller machine things will be quite different.  I wouldn't run two 
> compiles at the same time on one of the original Pentium machines either.

Well, on an old Pentium with 64 MB RAM and a dumb SCSI controller
it is faster to compile the kernel with -j2.


Reply to: