Re: [PATCH] Run the bootstrap object comparison in parallel
Kyrylo Tkachov <[email protected]> Tue, 4 Aug 2026 17:04:43 +0000
| Newsgroups | gmane.comp.gcc.patches |
|---|---|
| Message-ID | <[email protected]> |
> On 4 Aug 2026, at 18:51, Jeffrey Law <[email protected]> wrote= : >=20 >=20 >=20 > On 7/21/2026 9:28 AM, [email protected] wrote: >> From: Kyrylo Tkachov <[email protected]> >>=20 >> The stage 2 and stage 3 object comparison runs one command per object in= a >> serial shell loop. Everything after it waits while an otherwise idle ma= chine >> compares thousands of objects. >>=20 >> Generate one make target per object and run the comparisons through $(MA= KE), >> so they share the original jobserver. Keep the generated makefile and r= esult >> shards invocation-specific, clean them on normal and signal exits, and s= ort >> the shards before creating the traditional .bad_compare diagnostic. Fil= es in >> the exclusion list still only warn. Comparator statuses other than zero= or >> one now report an operational error instead of being treated as equal. >>=20 >> The tail-based fallback for cmp implementations without byte skipping us= ed >> fixed temporary names. Give those files process-specific names, clean t= hem >> with a trap, and preserve the same status contract for tail failures and >> signals. >>=20 >> On highly parallel AArch64 and x86_64 systems this reduces comparison wa= ll >> time by about 95%. >>=20 >> ChangeLog: >>=20 >> * Makefile.tpl ([+compare-target+]): Run object comparisons through an >> invocation-specific parallel sub-make. Collect sorted failure shards >> and clean temporary state on exit. >> * Makefile.in: Regenerate. >> * configure: Regenerate. >>=20 >> config/ChangeLog: >>=20 >> * acx.m4 (ACX_PROG_CMP_IGNORE_INITIAL): Use process-specific temporary >> files and clean them on exit. Diagnose tail failures as errors. >>=20 >> Signed-off-by: Kyrylo Tkachov <[email protected]> > Given the utility of the bootstrap comparison test, I hope you you tested= with a forced failure to ensure it'll trigger failures properly. >=20 > Assuming you've done a force failure test, OK. >=20 Yes, I did corrupt stage2 tree.o and the comparison failed and the failing = file was listed. Thanks again for the reviews Kyrill > jeff