smp and portupgrade

Andrew McNaughton andrew at scoop.co.nz
Sun Apr 2 08:57:36 UTC 2006


On Sat, 1 Apr 2006, Kris Kennaway wrote:

> On Sat, Apr 01, 2006 at 07:08:10PM +0200, Olaf Klein wrote:
>> Hi,
>>
>> i wonder how to make use of multiple processors or kernels when using
>> portupgrade. Something like 'make -j10 buildworld' should be possible
>> for portupgrade too?!
>> Or is it like buildkernel: not recommended to use multiple threads?
>
> Well, buildkernel is fine to use with -j (not sure where you read
> otherwise), but ports cannot be built this way.

The main issue seems to be that various targets in the ports system not 
waiting for the previous target to be built.  Eg 'install' starts without 
waiting for 'build'.  Depending on the particular port however 'make -j 10 
build' very often does work.

I appreciate that it's quite a lot of work to implement, but...

It would be nice if the ports system itself were multi-thread clean. 
Presumably we'd want a flag in each appropriate port's makefile which 
enabled a multi-threaded build where this is known to work.

Equally, it would be nice if portupgrade were able to work on separate 
ports in parallel where dependency structures allow for it.

Are there any fundamental reasons why such things couldn't work?

Andrew

-------------------------------------------------------------------
Andrew McNaughton           http://www.scoop.co.nz/
andrew at scoop.co.nz          Mobile: +61 422 753 792
                             pgp keyid: 70F6C32D
--
"We are trying to figure out how you conduct a war against something
other than a nation-state and how ... you conduct a war in countries
that you are not at war with,"   -- Donald Rumsfeld, 27 Jan 2006


More information about the freebsd-smp mailing list