|
|
DescriptionWorkaround for issue breaking NACL on ChromeOS.
ChromeOS uses AFDO to improve Chrome performance. However, after the GN
migration, NACL broke. We triaged this to using AFDO on
tcmalloc. tcmalloc has some dependencies on specific stack traces and
section allocations that may break once AFDO is used. So, we need to
disable AFDO for the file debugallocation_shim.cc (object bisecting
pointed to it). We need a quick workaround, so we are doing this with a
GCC pragma. The real solution will come in a few days by a change in GN
to avoid passing -fauto-profile to tcmalloc files.
BUG=chromium:629593
TEST=verified by hand problem does not reproduce after this change.
Committed: https://crrev.com/a6f64234d71eeb6cd0571bd963301c8a617889f4
Cr-Commit-Position: refs/heads/master@{#409081}
Patch Set 1 #Patch Set 2 : Workaround for issue breaking NACL on ChromeOS. #
Total comments: 1
Patch Set 3 : Workaround for issue breaking NACL on ChromeOS. #Messages
Total messages: 31 (12 generated)
Description was changed from ========== Workaround for issue breaking NACL on ChromeOS. ChromeOS uses AFDO to improve Chrome performance. However, after the GN migration, NACL broke. We triaged this to using AFDO on tcmalloc. tcmalloc has some dependencies on specific stack traces and section allocations that may break once AFDO is used. So, we need to disable AFDO for the file debugallocation_shim.cc (object bisecting pointed to it). We need a quick workaround, so we are doing this with a GCC pragma. The real solution will come in a few days by a change in GN to avoid passing -fauto-profile to tcmalloc files. BUG=chromium:629593 TEST=verified by hand problem does not reproduce after this change. ========== to ========== Workaround for issue breaking NACL on ChromeOS. ChromeOS uses AFDO to improve Chrome performance. However, after the GN migration, NACL broke. We triaged this to using AFDO on tcmalloc. tcmalloc has some dependencies on specific stack traces and section allocations that may break once AFDO is used. So, we need to disable AFDO for the file debugallocation_shim.cc (object bisecting pointed to it). We need a quick workaround, so we are doing this with a GCC pragma. The real solution will come in a few days by a change in GN to avoid passing -fauto-profile to tcmalloc files. BUG=chromium:629593 TEST=verified by hand problem does not reproduce after this change. ==========
llozano@chromium.org changed reviewers: + dpranke@chromium.org, thakis@chromium.org
The CQ bit was checked by llozano@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
No L-G-T-M from a valid reviewer yet. CQ run can only be started by full committers or once the patch has received an L-G-T-M from a full committer. Even if an L-G-T-M may have been provided, it was from a non-committer, _not_ a full super star committer. See http://www.chromium.org/getting-involved/become-a-committer Note that this has nothing to do with OWNERS files.
lgtm, but thakis@ needs to review also (for owner review).
lgtm, looking forward to the more permanent fix. Out of interest, why wasn't this a problem in the gyp build?
On 2016/08/01 20:10:06, Nico wrote: > lgtm, looking forward to the more permanent fix. > > Out of interest, why wasn't this a problem in the gyp build? not sure. This is a problem only for nacl_helper. On GYP, nacl_helper was built diferently. So, I assume nacl_helper was not using AFDO in GYP.
The CQ bit was checked by llozano@chromium.org
hm, maybe the extra cros build flags should only be applied if !is_nacl then? then we'd keep matching the gyp build and this wouldn't be needed
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
No, nacl_helper was a regular linux executable even in the GYP build. My guess is that the layout of the executable is just different enough to not be triggering things.
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: cast_shell_linux on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/cast_shell_linu...)
On 2016/08/01 20:50:05, commit-bot: I haz the power wrote: > Try jobs failed on following builders: > cast_shell_linux on master.tryserver.chromium.linux (JOB_FAILED, > http://build.chromium.org/p/tryserver.chromium.linux/builders/cast_shell_linu...) I guess this syntax doesn't actually work w/ clang ...
On 2016/08/01 20:54:57, Dirk Pranke wrote: > On 2016/08/01 20:50:05, commit-bot: I haz the power wrote: > > Try jobs failed on following builders: > > cast_shell_linux on master.tryserver.chromium.linux (JOB_FAILED, > > > http://build.chromium.org/p/tryserver.chromium.linux/builders/cast_shell_linu...) > > I guess this syntax doesn't actually work w/ clang ... yes, I was not expecting that. please review again.
The CQ bit was checked by llozano@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from dpranke@chromium.org, thakis@chromium.org Link to the patchset: https://codereview.chromium.org/2198253002/#ps20001 (title: "Workaround for issue breaking NACL on ChromeOS.")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
https://codereview.chromium.org/2198253002/diff/20001/base/allocator/debugall... File base/allocator/debugallocation_shim.cc (right): https://codereview.chromium.org/2198253002/diff/20001/base/allocator/debugall... base/allocator/debugallocation_shim.cc:10: #if ((__GNUC__ == 4 && __GNUC_MINOR__ >= 9) || __GNUC__ > 4) I think you can just do `#if !defined(__clang__)`
On 2016/08/01 21:47:29, Nico wrote: > https://codereview.chromium.org/2198253002/diff/20001/base/allocator/debugall... > File base/allocator/debugallocation_shim.cc (right): > > https://codereview.chromium.org/2198253002/diff/20001/base/allocator/debugall... > base/allocator/debugallocation_shim.cc:10: #if ((__GNUC__ == 4 && __GNUC_MINOR__ > >= 9) || __GNUC__ > 4) > I think you can just do `#if !defined(__clang__)` done.
The CQ bit was checked by llozano@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from dpranke@chromium.org, thakis@chromium.org Link to the patchset: https://codereview.chromium.org/2198253002/#ps40001 (title: "Workaround for issue breaking NACL on ChromeOS.")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
On 2016/08/01 20:33:52, Nico wrote: > hm, maybe the extra cros build flags should only be applied if !is_nacl then? > then we'd keep matching the gyp build and this wouldn't be needed not sure we can do that? on ChromeOS nacl is always on? So, I would not be able to build chrome with Nacl?
Message was sent while issue was closed.
Description was changed from ========== Workaround for issue breaking NACL on ChromeOS. ChromeOS uses AFDO to improve Chrome performance. However, after the GN migration, NACL broke. We triaged this to using AFDO on tcmalloc. tcmalloc has some dependencies on specific stack traces and section allocations that may break once AFDO is used. So, we need to disable AFDO for the file debugallocation_shim.cc (object bisecting pointed to it). We need a quick workaround, so we are doing this with a GCC pragma. The real solution will come in a few days by a change in GN to avoid passing -fauto-profile to tcmalloc files. BUG=chromium:629593 TEST=verified by hand problem does not reproduce after this change. ========== to ========== Workaround for issue breaking NACL on ChromeOS. ChromeOS uses AFDO to improve Chrome performance. However, after the GN migration, NACL broke. We triaged this to using AFDO on tcmalloc. tcmalloc has some dependencies on specific stack traces and section allocations that may break once AFDO is used. So, we need to disable AFDO for the file debugallocation_shim.cc (object bisecting pointed to it). We need a quick workaround, so we are doing this with a GCC pragma. The real solution will come in a few days by a change in GN to avoid passing -fauto-profile to tcmalloc files. BUG=chromium:629593 TEST=verified by hand problem does not reproduce after this change. ==========
Message was sent while issue was closed.
Committed patchset #3 (id:40001)
Message was sent while issue was closed.
Description was changed from ========== Workaround for issue breaking NACL on ChromeOS. ChromeOS uses AFDO to improve Chrome performance. However, after the GN migration, NACL broke. We triaged this to using AFDO on tcmalloc. tcmalloc has some dependencies on specific stack traces and section allocations that may break once AFDO is used. So, we need to disable AFDO for the file debugallocation_shim.cc (object bisecting pointed to it). We need a quick workaround, so we are doing this with a GCC pragma. The real solution will come in a few days by a change in GN to avoid passing -fauto-profile to tcmalloc files. BUG=chromium:629593 TEST=verified by hand problem does not reproduce after this change. ========== to ========== Workaround for issue breaking NACL on ChromeOS. ChromeOS uses AFDO to improve Chrome performance. However, after the GN migration, NACL broke. We triaged this to using AFDO on tcmalloc. tcmalloc has some dependencies on specific stack traces and section allocations that may break once AFDO is used. So, we need to disable AFDO for the file debugallocation_shim.cc (object bisecting pointed to it). We need a quick workaround, so we are doing this with a GCC pragma. The real solution will come in a few days by a change in GN to avoid passing -fauto-profile to tcmalloc files. BUG=chromium:629593 TEST=verified by hand problem does not reproduce after this change. Committed: https://crrev.com/a6f64234d71eeb6cd0571bd963301c8a617889f4 Cr-Commit-Position: refs/heads/master@{#409081} ==========
Message was sent while issue was closed.
Patchset 3 (id:??) landed as https://crrev.com/a6f64234d71eeb6cd0571bd963301c8a617889f4 Cr-Commit-Position: refs/heads/master@{#409081}
Message was sent while issue was closed.
please use lowest level OWNERS if there is one. |