Closed Bug 1868326 Opened 3 months ago Closed 2 months ago

Use aarch64 instrumented build for PGO profile generation for aarch64 macos

Categories

(Core :: Performance, enhancement)

ARM64
macOS
enhancement

Tracking

()

RESOLVED FIXED
123 Branch
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.

https://treeherder.mozilla.org/perfherder/compare?originalProject=try&originalRevision=402549f3803e7da6d27b401f3b3d1f20b4123ad9&newProject=try&newRevision=ee9c1ce481846caef2ebfc34af1bf59875666c68&framework=13&page=1

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.

See https://mozilla-hub.atlassian.net/browse/RELOPS-789 for adding required workers to CI

Whiteboard: [sp3]

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).

Assignee: nobody → jmuizelaar
Attachment #9372292 - Attachment description: Bug 1868326. macOS aarch64 profile generation → Bug 1868326. macOS aarch64 profile generation.
Status: NEW → ASSIGNED
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
Status: ASSIGNED → RESOLVED
Closed: 2 months ago
Resolution: --- → FIXED
Target Milestone: --- → 123 Branch

(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

Keywords: perf-alert
You need to log in before you can comment on or make changes to this bug.