Hi David,

Thanks kudos for tough works and discussions!

David, is this the final patch which I should test?
Best,

From: David Naylor <naylor.b.da...@gmail.com>
Subject: Re: MAKE_JOBS_UNSAFE (some more ports)
Date: Mon, 25 May 2009 22:47:29 +0200

> On Monday 25 May 2009 20:01:25 Ion-Mihai Tetcu wrote:
>> On Mon, 25 May 2009 10:03:12 +0200
>>
>> David Naylor <naylor.b.da...@gmail.com> wrote:
>> > On Sunday 24 May 2009 21:37:45 Ion-Mihai Tetcu wrote:
>> > > On Sun, 24 May 2009 10:26:23 +0200
>> > >
>> > > David Naylor <naylor.b.da...@gmail.com> wrote:
>> > > > On Sunday 24 May 2009 00:16:37 Maho NAKATA wrote:
>> > > > > Hi I tested it yesterday,
>> > > > >
>> > > > > 1.
>> > > > > I need
>> > > > >
>> > > > > > MAKE_JOBS_SAFE=        yes
>> > > > >
>> > > > > in the Makefile.
>> > > >
>> > > > Yes, you would need that.  I believe that will be default.
>> > > >
>> > > > > 2. with above patch, ooo2 doesn't launch parallele jobs.
>> > > >
>> > > > I spotted that problem after submitting the patch, if you
>> > > > explicitly set MAKE_JOBS_NUMBER to something it will work.
>> > > >
>> > > > The problem is that ooo2 does (in effect):
>> > > > .if (${MAKE_JOBS_NUMBER} > 1)
>> > > > # Stuff
>> > > > .else
>> > > > # Other stuff
>> > > > .endif
>> > > > and that doesn't work as expected with MAKE_JOBS_NUMBER=`sysctl
>> > > > kern.smp.cpus` as the command is not resolved.
>> > >
>> > > w/o patch
>> > > editors/openoffice.org-3 openoffice.org-3.1.0    4:53:27
>> > >
>> > > with patch:
>> > > + MAKE_JOBS_SAFE=        yes
>> > > + MAKE_JOBS_NUMBER=      4
>> > > + MAXPROCESSES?= ${MAKE_JOBS_NUMBER}
>> > > + MAXMODULES?=           ${MAKE_JOBS_NUMBER}
>> > >
>> > > editors/openoffice.org-3 openoffice.org-3.1.0    48:51
>> > >
>> > > The build is done in
>> > > /dev/md0 on /usr/local/tinderbox/7-STABLE-FPT-NPD (ufs,
>> > > asynchronous, local, noatime)
>> >
>> > Wow, that is quite a speedup.  Is it even possible (4 * 60 + 53)/4 =
>> > 73, and you get 48 (that is 152% scaling efficiency).  This would
>> > mean a serious performance problem with the ooo3 build script and
>> > MAX* =1.
>> >
>> > I'll make a patch tonight (+10 hours) that will fix ooo2 in the
>> > default case. You can test ooo2 with patch and MAKE_JOBS_NUMBER
>> > preset (not using default value) and MAKE_JOBS_SAFE=yes.
>>
>> BTW, what about using the same vars for parallel building in all OOo
>> port?
>
> Done, the following patch uses MAKE_JOBS_NUMBER for all the variables in OOo.
>
> It also tries to be efficient when resolving the MAKE_JOBS_NUMBER to a value
> (only done when a port sets USE_MAKE_JOBS, as in the OOo2-RC and OOo2 case).
>
> This should fix OOo2* builds and support such use cases for other ports...

Attachment: pgpgPOCyCj044.pgp
Description: PGP signature

Reply via email to