Re: filemon: weird full-time build although filemon enabled

From: Simon J. Gerraty <sjg_at_juniper.net>
Date: Sun, 7 May 2017 23:24:55 -0700
Hi,

> I build CURRENT on two technically similar systems on a almost daily basis. Therefore, it
> was a great relief having WITH_META_MODE=yes set in /etc/src-env.conf for incremental
> builds. To make my understanding of this clear (just in case I'm wrong): setting
> WITH_META_MODE builds only portions that does not need to be build in the make context.

I'm not sure I parsed that correctly, so let me just say;
With MK_META_MODE=yes, bmake should be put into meta mode.

This simply means that most targets get a .meta file, that records the
expanded command line, any command output and a syscall trace.
These can be very useful for debugging.

More important; on an update build bmake can use them to make targets
out-of-date that the normal rules miss.
Any change to the expanded command line, makes the target out-of-date.
Any change to any file read or executed makes the target out-of-date.
 
> Well, the reason writing this email is: on one system, I run almost every reboot into a
> "full build" and this puzzles me a bit. The long-lasting and time exhausting builds are

You can add -dM to your build flags to have meta_oodate() - the function
that does the above, explain why it decided the target is out-of-date.
The results can be enlightening.

Note, if a target rebuilds without -dM saying why - then the normal make
rules decided it was out-of-date.

> within the LLVM/CLANG tree. They consume a lot of time. The box in
> question does have a

Yes, building clang takes a while...

> Well, having said this, I need to mention that both systems use almost
> identical /etc/src.conf setting - except the order of appearance of
> the WITH_ tags.

That should not matter, bsd.mkopt.mk processes them in a specified
order.

> The problem: to make my point clear: the "weak" box starts compiling almost everytime now
> the LLVM/CLANG tree while the XEON box does not. This is spooky.

Add -dM, and see if that tells you why.
Also confirm that filemon is getting loaded after each reboot.
If that comes and goes, that could cause the behavior you see.

> I think there is something missing an I'd like to ask what is the suggested way to
> initially restart a full build to ensure that WITH_META_MODE gets initialised correctly.

I think Bryan has set that up so that it should take care of itself
pretty well - even toggling bewteen non-meta and meta builds should
DTRT - which is why it matters if filemon was used that it is there for
next build.

> Well, I'm not a developer, so please be patient with my naive report.

No problem.  Adding -dM to your build (will add a fair bit of output),
will hopefully tell you what's up.

From what you describe, I'd not be surprised if you see some
"a build command has changed" and it only takes a few to trigger a
cascade of targets out-of-date.

--sjg
Received on Mon May 08 2017 - 04:25:00 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:11 UTC