New issue
Advanced search Search tips

Issue 805098 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: May 2018
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Feature

Blocked on:
issue 837025
issue 803632
issue 804479



Sign in to add a comment

Evaluate AFDO for Chromium on Linux

Project Member Reported by g...@chromium.org, Jan 23 2018

Issue description

When https://chromium-review.googlesource.com/c/chromium/src/+/879849 lands, we'll have Chrome OS AFDO profiles sitting in Chrome's source tree. Since Chrome OS is a Linux and the profiles helped Android, we may see similar gains on Linux by using Chrome OS' profiles.

Since flipping the switch is a few lines of diff, this will primarily consist of gathering numbers to answer "is it a good thing?"

We also need to decide whether we care about performance or binary size more: Android cares *very* deeply about Chrome's binary size, so we made AFDO prefer that that over performance. For Linux, we probably have more flexibility.

There's still some work remaining on the Android front before I get to this, but...
 

Comment 1 by g...@chromium.org, Jan 23 2018

Blockedon: 804479 803632 799629

Comment 2 by g...@chromium.org, Apr 25 2018

Blockedon: -799629
Labels: -Pri-3 Pri-2
This sounds like something we want, and seems pretty straightforward to get for this milestone. Upping to P2 and removing the unnecessary Android-specific blocker.

Comment 3 by g...@chromium.org, Apr 25 2018

Blockedon: 837025
Project Member

Comment 4 by bugdroid1@chromium.org, Apr 28 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/31d221685cba6b84e9c7ddcdf81c8c3722653a56

commit 31d221685cba6b84e9c7ddcdf81c8c3722653a56
Author: George Burgess IV <gbiv@chromium.org>
Date: Sat Apr 28 00:03:02 2018

[AFDO] Refactor default profile code

This was previously split out to support defining different profiles
for Chrome and Chromium. Since we no longer need to do this, it's
simplest to have this all inline. (In particular, this refactor makes
using this profile on Linux like, 2 lines of diff.)

No functionality change is intended.

Bug:  805098 
Test: `rgrep fprofile-sample-use out | wc -l` gives a high number
Change-Id: Ice635b71942f10ef1aed9e2fd9872ac06f598803
Reviewed-on: https://chromium-review.googlesource.com/1024637
Reviewed-by: agrieve <agrieve@chromium.org>
Commit-Queue: George Burgess <gbiv@chromium.org>
Cr-Commit-Position: refs/heads/master@{#554571}
[modify] https://crrev.com/31d221685cba6b84e9c7ddcdf81c8c3722653a56/build/config/android/config.gni
[modify] https://crrev.com/31d221685cba6b84e9c7ddcdf81c8c3722653a56/build/config/compiler/BUILD.gn

Project Member

Comment 5 by bugdroid1@chromium.org, May 10 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3d20a813bf5977d7cd191597855e50d32276e5e7

commit 3d20a813bf5977d7cd191597855e50d32276e5e7
Author: George Burgess IV <gbiv@chromium.org>
Date: Thu May 10 22:24:17 2018

Add profile-unpacking build deps to Linux

In order to use AFDO on Linux, we need to be able to locally unpack the
profiles we fetch (which is likely preferable to storing a second,
unpacked version in gs://).

It used to be that we only needed these for Android, since these
profiles were previously only used by Android.

This was split out from
https://chromium-review.googlesource.com/c/chromium/src/+/1025132

Bug:  805098 
Test: Ran install-build-deps.sh
Change-Id: I1374b2b84c26f6ef808c00217bfbb51e8fbf980d
Reviewed-on: https://chromium-review.googlesource.com/1054613
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: George Burgess <gbiv@chromium.org>
Cr-Commit-Position: refs/heads/master@{#557698}
[modify] https://crrev.com/3d20a813bf5977d7cd191597855e50d32276e5e7/build/install-build-deps-android.sh
[modify] https://crrev.com/3d20a813bf5977d7cd191597855e50d32276e5e7/build/install-build-deps.sh

Project Member

Comment 6 by bugdroid1@chromium.org, May 15 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b4a5f27eb04fc91e37c491ee8680ad0e37feb5d6

commit b4a5f27eb04fc91e37c491ee8680ad0e37feb5d6
Author: George Burgess IV <gbiv@chromium.org>
Date: Tue May 15 19:28:03 2018

[AFDO] Turn AFDO on by default for Linux official builds

This CL turns AFDO on for official builds of Linux. This appears to be a
<0.5% binary size regression, and should grant a pretty solid
performance gain.

This CL is also expected to increase build times of official builds by
around 12% (wall and CPU time). A memory usage increase of around
210-225MB per TU is also expected.

Depends on install-build-deps.sh change in r557698; it was re-run on
bots in crbug.com/841983, and devs were asked to update in "FYI: Linux
builds of Chromium need to run install-build-deps.sh after #557698".

Bug:  805098 ,  821595 , 837025
Test: See  issue 821595  for perf reports.
Change-Id: I9eafad1d20b897e77566de423f29c11cc8c13e83
Reviewed-on: https://chromium-review.googlesource.com/1025132
Commit-Queue: George Burgess <gbiv@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#558806}
[modify] https://crrev.com/b4a5f27eb04fc91e37c491ee8680ad0e37feb5d6/DEPS
[modify] https://crrev.com/b4a5f27eb04fc91e37c491ee8680ad0e37feb5d6/build/config/compiler/BUILD.gn

Comment 7 by g...@chromium.org, May 21 2018

Status: Fixed (was: Assigned)

Sign in to add a comment