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...
pgpgPOCyCj044.pgp
Description: PGP signature