Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 12 Jun 98 22:40:22 -0400
From:      cr@jcmax.com (Cyrus Rahman)
To:        freebsd-smp@FreeBSD.ORG
Subject:   Parallel kernel builds/vnode_if.{h,c}
Message-ID:  <9806130240.AA17990@corona.jcmax.com>

next in thread | raw e-mail | index | archive | help
I don't recall seeing any mention of this, but parallel kernel builds
fail with some random chance because the files vnode_if.{c,h} get built
twice, and with multiple jobs and multiple processors, frequently
at the same time (so that the output of both builds is intermingled).

Perhaps there is a better way of serializing the build, but the problem
can be fixed by having the dependencies for each of these files instead
trigger a pseudo-target, e.g.:

	vnode_if.c: $S/kern/vnode_if.sh $S/kern/vnode_if.src vnode_if
	vnode_if.h: $S/kern/vnode_if.sh $S/kern/vnode_if.src vnode_if
	vnode_if:
	        sh $S/kern/vnode_if.sh $S/kern/vnode_if.src

instead of what is now used:

	vnode_if.c: $S/kern/vnode_if.sh $S/kern/vnode_if.src
	        sh $S/kern/vnode_if.sh $S/kern/vnode_if.src
	vnode_if.h: $S/kern/vnode_if.sh $S/kern/vnode_if.src
	        sh $S/kern/vnode_if.sh $S/kern/vnode_if.src

Make will then serialize the construction of the two original targets since
all the work is performed through the single pseudo-target.

Cyrus

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-smp" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9806130240.AA17990>