Subject: Re: i386 MP performance (generic.mp and generic almost same)
To: None <current-users@NetBSD.org>
From: Greg Troxel <gdt@ir.bbn.com>
List: current-users
Date: 11/11/2007 16:45:56
Bernd Ernesti <netbsd@lists.veego.de> writes:

> On Sun, Nov 11, 2007 at 11:11:12AM -0600, Eric Haszlakiewicz wrote:
>> Cem Kayali wrote:
>> 
>> Another setting that I haven't used, but sounds promising based on 
>> what's in mk/defaults/mk.conf, is MAKE_JOBS, which adds a -j<whatever> 
>> to the individual package builds.  However, it says it's experimental, 
>> so I have no idea how well it works in practice.
>
> I tied it but gave up after there were a few packages which didn't work with
> it. Hunting down the obvious problems took too much time.
>
> There was also some kind of warning on one of the mailing lists here that
> using MAKE_JOBS can result in a package, but the result may not be what you
> expect, because a library or any other binary may be miss compiled due too
> out of order compiles.

That's all true, but I've been running with MAKE_JOBS = 2, 3 or 4 for a
long time.  This just passes e.g. -j3 to the make invocation to build
the package.  I have run into packages that fail, and have marked those
MAKE_JOBS_SAFE=no, and others have done that too.  I rebuild my entire
set of packages (441, including gnome) via pkg_rolling-replace every
month or so, and I think I've mostly converged on marking all of the
unsafe ones among that set.

Actually fixing the packages that aren't "-jN safe" is a lot of work, of
course, and those fixes really should be done upstream.