Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(51)

Issue 343753004: Oilpan: Improve address space randomization for the Oilpan heap. (Closed)

Created:
6 years, 6 months ago by Mads Ager (chromium)
Modified:
6 years, 6 months ago
CC:
blink-reviews, abarth-chromium, haraken, blink-reviews-wtf_chromium.org, kouhei+heap_chromium.org, Mikhail
Project:
blink
Visibility:
Public.

Description

Oilpan: Improve address space randomization for the Oilpan heap. Allocate oilpan heap pages in chunks of 10 pages at a random address. Allocating all individual pages at random addresses blows out the TLB and leads to poor performance so we group the allocations slightly. Using a random aligned address for our allocations has the additional advantage that we usually do not have to unmap surrounding unaligned bits on all page allocations which turns out to be surprisingly expensive on Linux. The address space randomization code has been extracted from PartitionAlloc. No need to reinvent the wheel. :-) R=cevans@chromium.org, erik.corry@gmail.com, oilpan-reviews@chromium.org, tsepez@chromium.org Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=177085

Patch Set 1 #

Total comments: 1

Patch Set 2 : Move code to cpp file. #

Total comments: 22

Patch Set 3 : Address review comments. #

Patch Set 4 : fix typo #

Total comments: 3
Unified diffs Side-by-side diffs Delta from patch set Stats (+288 lines, -166 lines) Patch
M Source/platform/heap/Heap.h View 2 chunks +8 lines, -0 lines 0 comments Download
M Source/platform/heap/Heap.cpp View 1 2 3 8 chunks +159 lines, -82 lines 3 comments Download
A Source/wtf/AddressSpaceRandomization.h View 1 2 1 chunk +19 lines, -0 lines 0 comments Download
A Source/wtf/AddressSpaceRandomization.cpp View 1 2 1 chunk +99 lines, -0 lines 0 comments Download
M Source/wtf/PageAllocator.cpp View 2 chunks +1 line, -84 lines 0 comments Download
M Source/wtf/wtf.gypi View 1 1 chunk +2 lines, -0 lines 0 comments Download

Messages

Total messages: 22 (0 generated)
Mads Ager (chromium)
6 years, 6 months ago (2014-06-26 15:23:58 UTC) #1
Mads Ager (chromium)
Tom and Chris, does the extraction of the address space randomization bits into its own ...
6 years, 6 months ago (2014-06-26 15:24:59 UTC) #2
Tom Sepez
I like the idea of splitting it off, but why is the code in a ...
6 years, 6 months ago (2014-06-26 16:31:01 UTC) #3
Mads Ager (chromium)
On 2014/06/26 16:31:01, Tom Sepez wrote: > I like the idea of splitting it off, ...
6 years, 6 months ago (2014-06-26 16:57:18 UTC) #4
Tom Sepez
LGTM, but get cevans to look as well. I only reviewed the ASR portion, not ...
6 years, 6 months ago (2014-06-26 17:06:54 UTC) #5
zerny-chromium
lgtm https://codereview.chromium.org/343753004/diff/20001/Source/platform/heap/Heap.cpp File Source/platform/heap/Heap.cpp (right): https://codereview.chromium.org/343753004/diff/20001/Source/platform/heap/Heap.cpp#newcode333 Source/platform/heap/Heap.cpp:333: static PageMemory* allocate(size_t payloadSize) This appears unused now ...
6 years, 6 months ago (2014-06-27 04:33:18 UTC) #6
haraken
https://codereview.chromium.org/343753004/diff/20001/Source/platform/heap/Heap.cpp File Source/platform/heap/Heap.cpp (right): https://codereview.chromium.org/343753004/diff/20001/Source/platform/heap/Heap.cpp#newcode177 Source/platform/heap/Heap.cpp:177: // space containing a number of blink heap pages. ...
6 years, 6 months ago (2014-06-27 05:36:33 UTC) #7
Mads Ager (chromium)
Haraken, PTAL https://codereview.chromium.org/343753004/diff/20001/Source/platform/heap/Heap.cpp File Source/platform/heap/Heap.cpp (right): https://codereview.chromium.org/343753004/diff/20001/Source/platform/heap/Heap.cpp#newcode177 Source/platform/heap/Heap.cpp:177: // space containing a number of blink ...
6 years, 6 months ago (2014-06-27 06:16:36 UTC) #8
haraken
LGTM https://codereview.chromium.org/343753004/diff/60001/Source/platform/heap/Heap.cpp File Source/platform/heap/Heap.cpp (right): https://codereview.chromium.org/343753004/diff/60001/Source/platform/heap/Heap.cpp#newcode803 Source/platform/heap/Heap.cpp:803: // will each have the following layout. I ...
6 years, 6 months ago (2014-06-27 06:50:17 UTC) #9
Mads Ager (chromium)
https://codereview.chromium.org/343753004/diff/60001/Source/platform/heap/Heap.cpp File Source/platform/heap/Heap.cpp (right): https://codereview.chromium.org/343753004/diff/60001/Source/platform/heap/Heap.cpp#newcode803 Source/platform/heap/Heap.cpp:803: // will each have the following layout. On 2014/06/27 ...
6 years, 6 months ago (2014-06-27 07:01:04 UTC) #10
Mads Ager (chromium)
Thanks for the reviews guys. I'll put this in the commit queue. Chris, when you ...
6 years, 6 months ago (2014-06-27 07:02:36 UTC) #11
Mads Ager (chromium)
The CQ bit was checked by ager@chromium.org
6 years, 6 months ago (2014-06-27 07:02:40 UTC) #12
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/ager@chromium.org/343753004/60001
6 years, 6 months ago (2014-06-27 07:03:46 UTC) #13
haraken
https://codereview.chromium.org/343753004/diff/60001/Source/platform/heap/Heap.cpp File Source/platform/heap/Heap.cpp (right): https://codereview.chromium.org/343753004/diff/60001/Source/platform/heap/Heap.cpp#newcode803 Source/platform/heap/Heap.cpp:803: // will each have the following layout. On 2014/06/27 ...
6 years, 6 months ago (2014-06-27 07:16:43 UTC) #14
commit-bot: I haz the power
FYI, CQ is re-trying this CL (attempt #1). The failing builders are: blink_presubmit on tryserver.blink ...
6 years, 6 months ago (2014-06-27 08:08:40 UTC) #15
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 6 months ago (2014-06-27 08:11:58 UTC) #16
commit-bot: I haz the power
Try jobs failed on following builders: blink_presubmit on tryserver.blink (http://build.chromium.org/p/tryserver.blink/builders/blink_presubmit/builds/8704)
6 years, 6 months ago (2014-06-27 08:11:59 UTC) #17
Mads Ager (chromium)
Erik, could you do the owner review for wtf?
6 years, 6 months ago (2014-06-27 08:15:01 UTC) #18
Erik Corry
LGTM The comments and the bit masks don't really line up too well.
6 years, 6 months ago (2014-06-27 09:42:26 UTC) #19
Mads Ager (google)
The CQ bit was checked by ager@google.com
6 years, 6 months ago (2014-06-27 09:46:53 UTC) #20
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/ager@chromium.org/343753004/60001
6 years, 6 months ago (2014-06-27 09:47:42 UTC) #21
commit-bot: I haz the power
6 years, 6 months ago (2014-06-27 09:51:20 UTC) #22
Message was sent while issue was closed.
Change committed as 177085

Powered by Google App Engine
This is Rietveld 408576698