New issue
Advanced search Search tips

Issue 915318 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Jan 8
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Bug
Build-Toolchain



Sign in to add a comment

Evaluate heat maps for kevin64 (arm64)

Project Member Reported by manojgupta@chromium.org, Dec 14

Issue description

Chrome OS has been evaluating arm64 userspace. Therefore We'd also want to see the heat maps on arm64.

Building arm64 image (Use kevin64 board):

$ ./setup_board --board=kevin64
$ USE="-cros-debug afdo_use chrome_internal" ./build_packages --board=kevin64

The built images can be flashed on a kevin board for testing/evaluation.
 
there is a builder that generates images everyday in case you don't want to build yourself.
Status: Started (was: Untriaged)
Here's the heat map for kevin release build R73-11402.0.0 running on speedometer2.
heat_map.png
6.8 KB View Download
does not look good. that second peak is both high and wide.. we need to find out why. Any theories?
kevin64*
I need to find out the symbols of the second peak. Will upload it once I got them.
Another thing worth noting is that by default, lld doesn't differentiate hot symbols from text section. So it might be just marked as hot but not put in a separate section.
Tiancong, can you recheck kevin64 heatmaps? 
This is the heatmap I got with new release image of kevin (R73-11511.0.0).
vanilla_image.speedometer2.heat_map.png
6.9 KB View Download
can you provide an analysis of the differences with what you got before?
Is the binary produced using AFDO, ThinLTO? 


After I checked the binary, I found the .text.hot is not there, which means the lld patch was not applied correctly.
The previous heat map didn't apply my CL for reordering hot sections. The recent release build R73-11516.0.0 does (actually release builders after R73-11512.0.0 should all have the change applied). The heat map is attached.
vanilla_image.speedometer2.heat_map.png
6.9 KB View Download
hi, my questions at #10 still apply.


The major differences between the heat map of R73-11516 and R73-11402 is that some peaks over 20MB is moved to the beginning. This is due to a CL I made (https://chromium-review.googlesource.com/c/chromiumos/overlays/chromiumos-overlay/+/1378594), which moves hot symbols to the beginning of the text sections. All the symbols marked as hot will be grouped into .text.hot section and put at the beginning before .text section. Thus we can see more peaks comes at the beginning (as well as the original peak is moved back a little bit). For those peaks that are left outside of 20MB are those that are not marked as hot.
Also I would expect the performance difference of the two images would not be very significant. It's because we assume to use huge pages on the first 30MB of text section. The R73-11402 image has some peaks not coming in the front but still within 30MB huge page region, whereas in R73-11516 more peaks are moved into the front but still put into huge pages. So we are not putting many hot symbols into huge pages (other than the peaks around 70-80MB). Another possible source of performance improvement might come from using less number of pages since we put more hot symbols into the the first few huge pages.  
Status: Fixed (was: Started)

Sign in to add a comment