Enable PGO for Android ARM64
Categories
(Firefox Build System :: General, task, P2)
Tracking
(firefox66 unaffected, firefox67 wontfix, firefox68 fixed)
Tracking | Status | |
---|---|---|
firefox66 | --- | unaffected |
firefox67 | --- | wontfix |
firefox68 | --- | fixed |
People
(Reporter: cpeterson, Assigned: mshal)
References
Details
(Whiteboard: [geckoview:p2])
Attachments
(2 files)
We enabled PGO for Android ARMv7 in bug 632954 and for Fennec Nightlies in bug 1535364. PGO for ARM64 requires additional work.
Reporter | ||
Updated•6 years ago
|
Updated•6 years ago
|
Assignee | ||
Comment 1•6 years ago
|
||
It sounds like bug 1545497 may take a while to be staffed, so in the meantime we can use the android-api-16 profile for aarch64 builds instead of moving both to using an android-x86 profile. This will get us PGO up and running on the aarch64 platform sooner, though we'll still want to switch over to android-x86 when possible since the profile generation is much faster on x86, and the arm emulator may be going away in the future.
Assignee | ||
Comment 2•6 years ago
|
||
Assignee | ||
Comment 3•6 years ago
|
||
Assignee | ||
Comment 4•6 years ago
|
||
Similar to bug 632954, this disables the Android aarch64 tests on opt
except on try, and instead runs the tests on Android aarch64 pgo builds.
Depends on D29588
Comment 5•6 years ago
|
||
:ekyle, can you handle updating the perf dashboards to adjust android /aarch64 data from opt->pgo?
:davehunt, do you have other questions or steps required before this lands? I can think of maybe an email to performance at moco
Comment 6•6 years ago
|
||
Comment 7•6 years ago
|
||
:davehunt, can you comment on this- we are ready to land.
Comment 8•6 years ago
|
||
I've informed the perf team, perf test team, and perf sheriffs of this upcoming change.
Comment 10•6 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/c35863f496b6
https://hg.mozilla.org/mozilla-central/rev/fc10352cccac
Reporter | ||
Updated•5 years ago
|
Reporter | ||
Updated•5 years ago
|
Reporter | ||
Updated•5 years ago
|
Comment 11•5 years ago
|
||
(In reply to Michael Shal [:mshal] from comment #1)
It sounds like bug 1545497 may take a while to be staffed, so in the meantime we can use the android-api-16 profile for aarch64 builds instead of moving both to using an android-x86 profile. This will get us PGO up and running on the aarch64 platform sooner, though we'll still want to switch over to android-x86 when possible since the profile generation is much faster on x86, and the arm emulator may be going away in the future.
This came up on #developers
today, where several people had a "wait, 32-bit profiles for 64-bit builds? that won't end well" reaction, but nobody can see the bug referenced here. Can you summarize the problem that's blocking getting real arm64 profiles?
Assignee | ||
Comment 12•5 years ago
|
||
(In reply to Nathan Froyd [:froydnj] from comment #11)
(In reply to Michael Shal [:mshal] from comment #1)
It sounds like bug 1545497 may take a while to be staffed, so in the meantime we can use the android-api-16 profile for aarch64 builds instead of moving both to using an android-x86 profile. This will get us PGO up and running on the aarch64 platform sooner, though we'll still want to switch over to android-x86 when possible since the profile generation is much faster on x86, and the arm emulator may be going away in the future.
This came up on
#developers
today, where several people had a "wait, 32-bit profiles for 64-bit builds? that won't end well" reaction, but nobody can see the bug referenced here. Can you summarize the problem that's blocking getting real arm64 profiles?
We wanted to run the profile-generation stage in an emulator rather than a device to avoid adding extra load to the testers, as well as needing isolation between builds and tests (ie: we'd need a separate pool of devices just to go PGO profile generation). So we could use the arm emulator, or x86 / x86_64 emulators. Unfortunately x86/x86_64 require access to /dev/kvm, which has other security implications the workers & docker. Bug 1545497 was stalled for a bit on bug 1499054, but that has since been fixed. It's possible there is a path forward here now.
Can you clarify what you mean buy it "won't end well"? We did see a perf win on 64 by using the 32-bit profile compared to using no profile, so it's not like it doesn't work at all. We did try a similar thing on Windows, but there is a slight perf loss by using the 32-bit profile instead of a 64-bit profile (it is still better than no profile, however). In other words, '64-bit profile on 64-bit' > '32-bit profile on 64-bit' > 'no profile'. I haven't been able to confirm this is also true on Android without being able to generate a 64-bit profile, of course.
Description
•