New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 633698 link

Starred by 2 users

Issue metadata

Status: Archived
Owner:
Closed: Sep 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug
cwp



Sign in to add a comment

quipper should handle Chrome huge pages mappings

Project Member Reported by sque@chromium.org, Aug 2 2016

Issue description

A hugepages-mapped Chrome binary gets mapped as three mappings:
PERF_RECORD_MMAP2 24492/24492: [0x7f7377324000(0xdc000) @ 0 fe:00 90623 3474019349355834936]: r-xp /opt/google/chrome/chrome
PERF_RECORD_MMAP2 24492/24492: [0x7f7377400000(0x1e00000) @ 0 00:00 0 3474019349355834936]: r-xp //anon
PERF_RECORD_MMAP2 24492/24492: [0x7f7379200000(0x48d2000) @ 0x1edc000 fe:00 90623 3474019349355834936]: r-xp /opt/google/chrome/chrome

Quipper should combine these into one mapping, or at least replace the "//anon" mapping with a Chrome-named mapping with the proper file offset.
 

Comment 1 by sque@chromium.org, Aug 2 2016

Cc: llozano@chromium.org
+llozano for input: Do we expect that more binaries will be huge-page mapped in the future? If so, we should make this more generic than just Chrome.
Cc: tingyuan@chromium.org
in ChromeOS, we only plan for Chrome to do this.
However, with ARC++ this may change in the future (not sure when, but not soon).

But, better to make it non-chrome specific unless it is too difficult.
Cc: yunlian@chromium.org
Project Member

Comment 4 by bugdroid1@chromium.org, Aug 8 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform2/+/5e1b24cbf3d870b12dfc12da75f18738afcbe670

commit 5e1b24cbf3d870b12dfc12da75f18738afcbe670
Author: Simon Que <sque@chromium.org>
Date: Thu Jul 28 17:42:47 2016

quipper: Combine split Chrome huge pages mappings

Add a new class, HugePagesMappingDeducer that figures out when a single
binary is partially mapped with a run of hugepages, thus splitting it
into into three ranges. Use this class in PerfParser to replace the
split mapping with the original restored mapping.

BUG= chromium:633698 
TEST=unit tests pass

Change-Id: I96537ed9022d4e62a0e23bb478a9ed9851563498
Reviewed-on: https://chromium-review.googlesource.com/366040
Commit-Ready: Dan Shi <dshi@google.com>
Tested-by: Simon Que <sque@chromium.org>
Reviewed-by: Simon Que <sque@chromium.org>

[modify] https://crrev.com/5e1b24cbf3d870b12dfc12da75f18738afcbe670/chromiumos-wide-profiling/perf_parser.cc
[add] https://crrev.com/5e1b24cbf3d870b12dfc12da75f18738afcbe670/chromiumos-wide-profiling/huge_pages_mapping_deducer.h
[modify] https://crrev.com/5e1b24cbf3d870b12dfc12da75f18738afcbe670/chromiumos-wide-profiling/quipper.gyp
[add] https://crrev.com/5e1b24cbf3d870b12dfc12da75f18738afcbe670/chromiumos-wide-profiling/huge_pages_mapping_deducer.cc
[add] https://crrev.com/5e1b24cbf3d870b12dfc12da75f18738afcbe670/chromiumos-wide-profiling/huge_pages_mapping_deducer_test.cc
[modify] https://crrev.com/5e1b24cbf3d870b12dfc12da75f18738afcbe670/chromiumos-wide-profiling/perf_parser.h
[modify] https://crrev.com/5e1b24cbf3d870b12dfc12da75f18738afcbe670/chromiumos-wide-profiling/perf_parser_test.cc

Project Member

Comment 5 by bugdroid1@chromium.org, Aug 10 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform2/+/00f61b3150bcb31316bf2f44f343d429abdff8c9

commit 00f61b3150bcb31316bf2f44f343d429abdff8c9
Author: Simon Que <sque@chromium.org>
Date: Tue Aug 09 18:26:33 2016

quipper: Enable huge pages mapping resolution

The functionality of split huge pages mapping resolution was added in
https://chromium-review.googlesource.com/#/c/366040/.

This patch enables it in the quipper executable itself.

BUG= chromium:633698 
TEST=unit tests pass

Change-Id: I106735ccf8772f54d2e1d1a39f3e83fcd3336855
Reviewed-on: https://chromium-review.googlesource.com/367300
Commit-Ready: Simon Que <sque@chromium.org>
Tested-by: Simon Que <sque@chromium.org>
Reviewed-by: Chong Jiang <chongjiang@chromium.org>

[modify] https://crrev.com/00f61b3150bcb31316bf2f44f343d429abdff8c9/chromiumos-wide-profiling/perf_recorder.cc

Comment 6 by sque@chromium.org, Sep 26 2016

Status: Fixed (was: Started)

Comment 7 by dchan@chromium.org, Oct 7 2016

Labels: VerifyIn-55

Comment 8 by dchan@google.com, Nov 19 2016

Labels: VerifyIn-56

Comment 9 by dchan@google.com, Jan 21 2017

Labels: VerifyIn-57

Comment 10 by dchan@google.com, Mar 4 2017

Labels: VerifyIn-58

Comment 11 by dchan@google.com, Apr 17 2017

Labels: VerifyIn-59

Comment 12 by dchan@google.com, May 30 2017

Labels: VerifyIn-60
Labels: VerifyIn-61

Comment 14 by dchan@chromium.org, Oct 14 2017

Status: Archived (was: Fixed)

Sign in to add a comment