Page MenuHomeFreeBSD

Set .ORDER for makesyscalls generated files
ClosedPublic

Authored by kevans on Jan 9 2020, 3:27 AM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Mar 29, 2:17 AM
Unknown Object (File)
Oct 26 2023, 8:16 PM
Unknown Object (File)
Oct 11 2023, 7:37 PM
Unknown Object (File)
Sep 3 2023, 4:25 PM
Unknown Object (File)
Sep 3 2023, 4:23 PM
Unknown Object (File)
Sep 3 2023, 4:21 PM
Unknown Object (File)
Sep 3 2023, 4:19 PM
Unknown Object (File)
Aug 28 2023, 9:06 PM
Subscribers

Details

Summary

When either makesyscalls.lua or syscalls.master changes, all of the ${GENERATED} targets are now out-of-date. With make jobs > 1, this means we will run the makesyscalls script in parallel for the same ABI, generating the same set of output files.

Prior to D23098, there is a large window for interlacing output for some of the generated files that we were generating in-place rather than staging in a temp dir. After that, we still should't need to run the script more than once per-ABI as the first invocation should update all of them. Add .ORDER to do so cleanly.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

After discussing with sjg, I'm going to update these to .ORDER: ${GENERATED} and add inline comments describing why we care.

kevans retitled this revision from Tag all sysent Makefiles with .NOTPARALLEL to Set .ORDER for makesyscalls generated files.
kevans edited the summary of this revision. (Show Details)

Update to use .ORDER, hopefully articulate the problem a little better both in commit message and actually add a comment lightly mentioning the problem we're addressing.

Looks good, with the possible exception of one new file added to GENERATED...

sys/kern/Makefile
16 ↗(On Diff #66559)

Is this intentional?

sys/kern/Makefile
16 ↗(On Diff #66559)

Whoops, I forgot to rebase -- I actually already committed that part last night since we should run the script again if somehow systrace_args.c is out of date but for some reason the others aren't.

Looks fine, I agree with the comment on irc/slack that centralizing this in a .mk file likely makes sense. It's no much code, but it's a lot of duplication.

This revision is now accepted and ready to land.Jan 9 2020, 6:47 PM
This revision was automatically updated to reflect the committed changes.