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

Issue 683043002: PartitionAlloc: Distinguish OOMs where a lot of super pages are not committed (Closed)

Created:
6 years, 1 month ago by hiroshige
Modified:
6 years, 1 month ago
CC:
blink-reviews, blink-reviews-wtf_chromium.org, aandrey+blink_chromium.org, Mikhail
Base URL:
https://chromium.googlesource.com/chromium/blink.git@master
Project:
blink
Visibility:
Public.

Description

PartitionAlloc: Distinguish OOMs where a lot of super pages are not committed. This CL distinguishes specific OOMs (where a lot of super pages are allocated but not committed) from actual OOMs (where a lot of physical memory is allocated) in crash reports. - By crashing in partitionOutOfMemoryWithLotsOfUncommitedPages. - By crashing at a special address (0x9b) in Windows, because reported stack traces are not accurate. This check is enabled on 32-bit environments only. BUG=421387 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=185286

Patch Set 1 : #

Total comments: 2

Patch Set 2 : #

Total comments: 20

Patch Set 3 : Reflect comments. #

Patch Set 4 : Update totalSize counters after allocation succeeds. #

Patch Set 5 : Take DirectMapped pages into account. #

Patch Set 6 : IMMEDIATE_CRASH_WITH_FLAG. #

Total comments: 14

Patch Set 7 : Rebase. #

Patch Set 8 : Reflect some comments. #

Patch Set 9 : Rebase. #

Patch Set 10 : Rebase. #

Patch Set 11 : #if CPU(32BIT). Remove IMMEDIATE_CRASH_WITH_FLAG. #

Total comments: 2

Patch Set 12 : #if !CPU(64BIT). reinterpret_cast. #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+51 lines, -5 lines) Patch
M Source/wtf/PartitionAlloc.h View 1 2 3 4 2 chunks +9 lines, -0 lines 0 comments Download
M Source/wtf/PartitionAlloc.cpp View 1 2 3 4 5 6 7 8 9 10 11 8 chunks +42 lines, -5 lines 1 comment Download

Messages

Total messages: 32 (10 generated)
hiroshige
Kouhei-san, could you check this CL before sending to cevans@ and tsepez@?
6 years, 1 month ago (2014-10-29 08:03:41 UTC) #4
kouhei (in TOK)
https://codereview.chromium.org/683043002/diff/40001/Source/wtf/PartitionAlloc.cpp File Source/wtf/PartitionAlloc.cpp (right): https://codereview.chromium.org/683043002/diff/40001/Source/wtf/PartitionAlloc.cpp#newcode301 Source/wtf/PartitionAlloc.cpp:301: if ((uint64_t)root->totalSizeOfCommittedPages + 1000000000 < (uint64_t)root->totalSizeOfSuperPages) { 1000000000 should ...
6 years, 1 month ago (2014-10-29 09:34:32 UTC) #5
hiroshige
Thank you for reviewing and suggestion! https://codereview.chromium.org/683043002/diff/40001/Source/wtf/PartitionAlloc.cpp File Source/wtf/PartitionAlloc.cpp (right): https://codereview.chromium.org/683043002/diff/40001/Source/wtf/PartitionAlloc.cpp#newcode301 Source/wtf/PartitionAlloc.cpp:301: if ((uint64_t)root->totalSizeOfCommittedPages + ...
6 years, 1 month ago (2014-11-06 10:59:13 UTC) #7
kouhei (in TOK)
lgtm
6 years, 1 month ago (2014-11-06 12:09:40 UTC) #8
hiroshige
Thanks! cevans@ and tsepez@, could you take a look? https://codereview.chromium.org/658113002/ fixed a PartitionAlloc problem on ...
6 years, 1 month ago (2014-11-06 12:33:01 UTC) #10
Tom Sepez
Mostly nits https://codereview.chromium.org/683043002/diff/80001/Source/wtf/PartitionAlloc.cpp File Source/wtf/PartitionAlloc.cpp (right): https://codereview.chromium.org/683043002/diff/80001/Source/wtf/PartitionAlloc.cpp#newcode301 Source/wtf/PartitionAlloc.cpp:301: if ((uint64_t)root->totalSizeOfSuperPages - (uint64_t)root->totalSizeOfCommittedPages > kReasonableSizeOfUnusedPages) { ...
6 years, 1 month ago (2014-11-06 17:32:51 UTC) #11
Tom Sepez
Mostly nits
6 years, 1 month ago (2014-11-06 17:32:52 UTC) #12
Chris Evans
https://codereview.chromium.org/683043002/diff/80001/Source/wtf/PartitionAlloc.cpp File Source/wtf/PartitionAlloc.cpp (right): https://codereview.chromium.org/683043002/diff/80001/Source/wtf/PartitionAlloc.cpp#newcode301 Source/wtf/PartitionAlloc.cpp:301: if ((uint64_t)root->totalSizeOfSuperPages - (uint64_t)root->totalSizeOfCommittedPages > kReasonableSizeOfUnusedPages) { On 2014/11/06 ...
6 years, 1 month ago (2014-11-06 20:43:22 UTC) #13
Jens Widell
https://codereview.chromium.org/683043002/diff/80001/Source/wtf/PartitionAlloc.cpp File Source/wtf/PartitionAlloc.cpp (right): https://codereview.chromium.org/683043002/diff/80001/Source/wtf/PartitionAlloc.cpp#newcode301 Source/wtf/PartitionAlloc.cpp:301: if ((uint64_t)root->totalSizeOfSuperPages - (uint64_t)root->totalSizeOfCommittedPages > kReasonableSizeOfUnusedPages) { On 2014/11/06 ...
6 years, 1 month ago (2014-11-07 08:31:21 UTC) #15
hiroshige
Thanks for reviewing and comments! I added ASSERT's and fixing crases (in Patch Set 4 ...
6 years, 1 month ago (2014-11-07 08:57:00 UTC) #16
hiroshige
https://codereview.chromium.org/683043002/diff/80001/Source/wtf/PartitionAlloc.cpp File Source/wtf/PartitionAlloc.cpp (right): https://codereview.chromium.org/683043002/diff/80001/Source/wtf/PartitionAlloc.cpp#newcode306 Source/wtf/PartitionAlloc.cpp:306: ((void(*)())0x0000009b)(); Added IMMEDIATE_CRASH_WITH_FLAG and partitionOutOfMemoryWithLotsOfUncommitedPages() in Patch Set 6.
6 years, 1 month ago (2014-11-07 10:28:17 UTC) #19
Chris Evans
https://codereview.chromium.org/683043002/diff/200001/Source/wtf/PartitionAlloc.cpp File Source/wtf/PartitionAlloc.cpp (right): https://codereview.chromium.org/683043002/diff/200001/Source/wtf/PartitionAlloc.cpp#newcode300 Source/wtf/PartitionAlloc.cpp:300: Nit: Remove extra newline? https://codereview.chromium.org/683043002/diff/200001/Source/wtf/PartitionAlloc.cpp#newcode305 Source/wtf/PartitionAlloc.cpp:305: IMMEDIATE_CRASH_WITH_FLAG(0x9b); Do we ...
6 years, 1 month ago (2014-11-08 07:04:44 UTC) #20
Chris Evans
https://codereview.chromium.org/683043002/diff/200001/Source/wtf/PartitionAlloc.cpp File Source/wtf/PartitionAlloc.cpp (left): https://codereview.chromium.org/683043002/diff/200001/Source/wtf/PartitionAlloc.cpp#oldcode323 Source/wtf/PartitionAlloc.cpp:323: root->totalSizeOfCommittedPages += totalSize; Whoa, the changes in this file ...
6 years, 1 month ago (2014-11-08 07:07:15 UTC) #21
Chris Evans
On 2014/11/08 07:07:15, Chris Evans wrote: > https://codereview.chromium.org/683043002/diff/200001/Source/wtf/PartitionAlloc.cpp > File Source/wtf/PartitionAlloc.cpp (left): > > https://codereview.chromium.org/683043002/diff/200001/Source/wtf/PartitionAlloc.cpp#oldcode323 ...
6 years, 1 month ago (2014-11-08 07:07:35 UTC) #22
hiroshige
https://codereview.chromium.org/683043002/diff/200001/Source/wtf/PartitionAlloc.cpp File Source/wtf/PartitionAlloc.cpp (left): https://codereview.chromium.org/683043002/diff/200001/Source/wtf/PartitionAlloc.cpp#oldcode323 Source/wtf/PartitionAlloc.cpp:323: root->totalSizeOfCommittedPages += totalSize; On 2014/11/08 07:07:15, Chris Evans wrote: ...
6 years, 1 month ago (2014-11-11 09:41:30 UTC) #24
Chris Evans
LGTM with one nit. https://codereview.chromium.org/683043002/diff/320001/Source/wtf/PartitionAlloc.cpp File Source/wtf/PartitionAlloc.cpp (right): https://codereview.chromium.org/683043002/diff/320001/Source/wtf/PartitionAlloc.cpp#newcode309 Source/wtf/PartitionAlloc.cpp:309: ((void(*)())0x9b)(); Nit: should probably use ...
6 years, 1 month ago (2014-11-12 23:01:30 UTC) #25
hiroshige
Also updated CL description. https://codereview.chromium.org/683043002/diff/320001/Source/wtf/PartitionAlloc.cpp File Source/wtf/PartitionAlloc.cpp (right): https://codereview.chromium.org/683043002/diff/320001/Source/wtf/PartitionAlloc.cpp#newcode309 Source/wtf/PartitionAlloc.cpp:309: ((void(*)())0x9b)(); On 2014/11/12 23:01:30, Chris ...
6 years, 1 month ago (2014-11-13 06:26:32 UTC) #26
Chris Evans
On 2014/11/13 06:26:32, hiroshige wrote: > Also updated CL description. > > https://codereview.chromium.org/683043002/diff/320001/Source/wtf/PartitionAlloc.cpp > File ...
6 years, 1 month ago (2014-11-13 07:44:49 UTC) #27
hiroshige
> I kind of like CPU(32BIT) though. You might want to land this with CPU(32BIT) ...
6 years, 1 month ago (2014-11-13 07:52:53 UTC) #28
hiroshige
> Or land this with !CPU(64BIT) and modify it to CPU(32BIT) later > if we ...
6 years, 1 month ago (2014-11-13 12:30:23 UTC) #29
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/683043002/340001
6 years, 1 month ago (2014-11-13 12:31:41 UTC) #31
commit-bot: I haz the power
6 years, 1 month ago (2014-11-13 13:21:54 UTC) #32
Message was sent while issue was closed.
Committed patchset #12 (id:340001) as 185286

Powered by Google App Engine
This is Rietveld 408576698