Skip site navigation (1)Skip section navigation (2)
Date:      10 Aug 1997 11:30:41 GMT
From:      nnd@itfs.nsk.su
To:        current@freebsd.org
Subject:   Make and SMP - what can be done ?
Message-ID:  <5sk8p1$ld3@news.itfs.nsk.su>

next in thread | raw e-mail | index | archive | help
	Now when we can use SMP-FreeBSD and there is
a possibility to speedup building various components of
the system (making the kernel with 'make -j12' proves this
very definitely) there is a question - HOW can we use it ?

	Trivial attempt to 'make buildworld' with
"MAKE=make -j12" falls very quickly and shows at least that
usual idiom - 'make all install clean cleandepend' can not
be combined with '-j<n>' flag because this flag breaks
"compatible" semantics of sequential building of listed
targets.

	One of possible solutions to this problem can be
changing such idioms to 'make all;make install;make clean cleandepend',
but it can slowdown building process due to more overhead of
several make invocations instead of one make with many targets ;-(
Another approach can be in supplaying additional dependencies
(f.e. install depends of all and clean depends of install)
or ".ORDER" targets with the same effect.
       Main problem with such an approach is that it can't
be done "incrementally" - before I can make buildworld with
"MAKE=make -j12" I must change ALL the Makefiles in the "world" ;-).

	More stepwise process may consists in adding global
make flag (say, JFLAG which is set to "-j12" for SMP case
and to "" for traditional systems) and using it in various
parts of word-building alongside with modifying appropriate
Makefiles.

	Is there any sense in my speculations ?
Does anybody have some propositions for solving this problem ?
And is there REAL problem at all ;-) ?

	N.Dudorov



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5sk8p1$ld3>