Date: Sun, 17 Mar 2019 10:32:20 +0100 From: Wolfram Schneider <wosch@freebsd.org> To: Ian Lepore <ian@freebsd.org>, Wolfram Schneider <wosch@freebsd.org> Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r345238 - head Message-ID: <CAMWY7CAXDQ67K0fo_vVd=5BU=WHo8xEX5DCuh%2BT9fTDkP88jtA@mail.gmail.com> In-Reply-To: <0ea3a53f64016afa9dbc6f1b2d2ee25f09df00b8.camel@freebsd.org> References: <201903162002.x2GK2vmA013275@repo.freebsd.org> <0ea3a53f64016afa9dbc6f1b2d2ee25f09df00b8.camel@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 16 Mar 2019 at 23:37, Ian Lepore <ian@freebsd.org> wrote: > > On Sat, 2019-03-16 at 20:02 +0000, Wolfram Schneider wrote: > > Author: wosch > > Date: Sat Mar 16 20:02:57 2019 > > New Revision: 345238 > > URL: https://svnweb.freebsd.org/changeset/base/345238 > > > > Log: > > `make buildkernel' should display the build time in seconds > > > > PR: 224433 > > Approved by: cem > > Differential Revision: https://reviews.freebsd.org/D13910 > > > > Modified: > > head/Makefile.inc1 > > > > Modified: head/Makefile.inc1 > > ===================================================================== > > ========= > > --- head/Makefile.inc1 Sat Mar 16 17:55:22 2019 (r345237) > > +++ head/Makefile.inc1 Sat Mar 16 20:02:57 2019 (r345238) > > @@ -1584,6 +1584,11 @@ _cleankernobj_fast_depend_hack: .PHONY > > > > ${WMAKE_TGTS:N_worldtmp:Nbuild${libcompat}} > > ${.ALLTARGETS:M_*:N_worldtmp}: .MAKE .PHONY > > > > +# record kernel(s) build time in seconds > > +.if make(buildkernel) > > +_BUILDKERNEL_START!= date '+%s' > > +.endif > > + > > # > > # buildkernel > > # > > @@ -1640,7 +1645,12 @@ buildkernel: .MAKE .PHONY > > @echo "------------------------------------------------------ > > --------" > > @echo ">>> Kernel build for ${_kernel} completed on `LC_ALL=C > > date`" > > @echo "------------------------------------------------------ > > --------" > > + > > .endfor > > + @seconds=$$(($$(date '+%s') - ${_BUILDKERNEL_START})); \ > > + echo -n ">>> Kernel(s) build for${BUILDKERNELS} in $$seconds > > seconds, "; \ > > + echo "ncpu: $$(sysctl -n hw.ncpu)${.MAKE.JOBS:S/^/, make > > -j/}" > > + @echo "------------------------------------------------------ > > --------" > > > > NO_INSTALLEXTRAKERNELS?= yes > > > > > > Does this really report the buildkernel time, or the time from when > make starts until when the kernel portion of the make finishes? Will > the result be right when you do "make buildworld buildkernel"? Good point, I didn't checked this yet. The handbook at https://www.freebsd.org/doc/handbook/makeworld.html recommends to run buildworld and buildkernel in 2 steps: make -j4 buildworld ; make -j4 kernel PS: it seems to work fine. The time will be recorded when the make target is called, not when make is called. $ grep ncpu build.log >>> World build in 2004 seconds, ncpu: 32, make -j33 >>> Kernel(s) build for GENERIC in 138 seconds, ncpu: 32, make -j33 -Wolfram -- Wolfram Schneider <wosch@FreeBSD.org> https://wolfram.schneider.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAMWY7CAXDQ67K0fo_vVd=5BU=WHo8xEX5DCuh%2BT9fTDkP88jtA>