Use aarch64 instrumented build for PGO profile generation for aarch64 macos
Categories
(Core :: Performance, enhancement)
Tracking
()
Tracking | Status | |
---|---|---|
firefox123 | --- | fixed |
People
(Reporter: jnicol, Assigned: jrmuizel)
References
(Blocks 1 open bug)
Details
(Keywords: perf-alert, Whiteboard: [sp3])
Attachments
(5 files)
Similar to bug 1865886 on Android, we can get a 5.11% improvement on speedometer3 on aarch64 macos by using an aarch64 instrumented build and running the profile generation on an aarch64 mac.
Setting up the original PGO runs on x86_64 macos required adding a dedicated pool of hardware for only running level-3 PGO profile generation jobs (bug 1530732). So presumably we'll need to do the same with aarch64 hardware.
Reporter | ||
Comment 1•7 months ago
|
||
See https://mozilla-hub.atlassian.net/browse/RELOPS-789 for adding required workers to CI
Updated•7 months ago
|
Updated•7 months ago
|
Assignee | ||
Comment 2•6 months ago
|
||
Assignee | ||
Comment 3•6 months ago
|
||
Assignee | ||
Comment 4•6 months ago
|
||
Comment 5•5 months ago
•
|
||
The performance difference does not appear to just be in aarch64-specific code. Instead, the difference seem to be spread over lots of different functions.
When using the x86_64 PGO training data, the arm64 build logs contain 16231 warnings of the type function control flow change detected (hash mismatch)
:
[task 2024-01-15T21:03:07.139Z] 21:03:07 INFO - warning: Unified_cpp_parser_html1.cpp: function control flow change detected (hash mismatch) _ZN16nsHtml5Tokenizer9stateLoopI20nsHtml5FastestPolicyEEiiDsiPDsbii Hash = 1006606701270676095 up to 423331622 count discarded [-Wbackend-plugin]
With the aarch64 PGO training data, the arm64 build log only contains 1651 of those warnings (10x less).
Comment 6•5 months ago
|
||
Comment 7•5 months ago
|
||
Updated•5 months ago
|
Pushed by jmuizelaar@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/2dabe7565934 macOS aarch64 instrumented build r=glandium https://hg.mozilla.org/integration/autoland/rev/541a0ae99851 macOS aarch64 profile generation. r=glandium https://hg.mozilla.org/integration/autoland/rev/38fbe387a1aa Use aarch64 pgo data for mac aarch64 builds. r=glandium
Comment 9•5 months ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/2dabe7565934
https://hg.mozilla.org/mozilla-central/rev/541a0ae99851
https://hg.mozilla.org/mozilla-central/rev/38fbe387a1aa
Comment 10•5 months ago
|
||
(In reply to Pulsebot from comment #8)
Pushed by jmuizelaar@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/2dabe7565934
macOS aarch64 instrumented build r=glandium
https://hg.mozilla.org/integration/autoland/rev/541a0ae99851
macOS aarch64 profile generation. r=glandium
https://hg.mozilla.org/integration/autoland/rev/38fbe387a1aa
Use aarch64 pgo data for mac aarch64 builds. r=glandium
== Change summary for alert #41083 (as of Fri, 19 Jan 2024 12:12:22 GMT) ==
Improvements:
Ratio | Test | Platform | Options | Absolute values (old vs new) | Performance Profiles |
---|---|---|---|---|---|
5% | speedometer3 | macosx1300-64-shippable-qr | fission webrender | 29.70 -> 31.19 | Before/After |
For up to date results, see: https://treeherder.mozilla.org/perfherder/alerts?id=41083
Description
•