Closed Bug 1948387 Opened 1 month ago Closed 18 days ago

Use arm emulator for Fenix arm32 PGO

Categories

(Core :: Performance Engineering, enhancement)

enhancement

Tracking

()

RESOLVED FIXED
137 Branch
Tracking Status
firefox137 --- fixed

People

(Reporter: tcampbell, Assigned: tcampbell)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

This follows in the same spirit as Bug 1865886, but for 32-bit ARM. In unrelated investigations I found that the system-images;android-30;google_apis;x86 is the equivalent for ARM32 as we found android-31 was for arm64 (https://bugzilla.mozilla.org/show_bug.cgi?id=1865886#c4).

Updating the arm32 pgo process to be aligned with the arm64 process I seem to be able to get working builds without any fuss. The Bpgo(run) task thus uses libndk_translation.so on x86 Android emulator on linux64 host. The result is still that we have appropriate PGO for arm-specific code paths (JITs, media, crypto, etc).

Using these builds on a physical Pixel 3 (that is 64-bit capable), I see a consistent 11% performance improvement on Speedometer 3 on Fenix Nightly Simulation builds.

Baseline: https://treeherder.mozilla.org/jobs?repo=try&selectedTaskRun=fKIQkf0kRhqtr413LgvLSw.0&revision=8764b78e04734257fdc2d3223130785bd1324956
Arm32-PGO: https://treeherder.mozilla.org/jobs?repo=try&selectedTaskRun=GVMBG3WIS7ue4O5UJ8QYBg.0&revision=a498ece3c67436a3bba068cf75fc47fdd7e46710

Bring the ARM32 PGO builds in line with ARM64 PGO by also running them on an
emulator with translation support. Previously we used the x86 profile data.

Component: Performance → Performance Engineering
Pushed by tcampbell@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/a415debf8272 Run android arm pgo on arm-on-x86 android-30 emulator r=glandium,releng-reviewers,bhearsum
Status: NEW → RESOLVED
Closed: 18 days ago
Resolution: --- → FIXED
Target Milestone: --- → 137 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: