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

Issue 25293002: Add DiscardableMemoryAllocator to work around FD limit issue. (Closed)

Created:
7 years, 2 months ago by Philippe
Modified:
7 years ago
CC:
chromium-reviews, erikwright+watch_chromium.org, gavinp+memory_chromium.org, Feng Qian, klobag.chromium, Ian Vollick, digit1, ppi, jzern, reveman
Visibility:
Public.

Description

Add DiscardableMemoryAllocator to minimize use of FDs with discardable memory. Discardable memory has the current limitation on Android (at least) that it's backed by a file (descriptor) thus it is a limited resource. DiscardableMemoryAllocator provides a way to create instances of DiscardableMemory in an efficient way. Note that just like regular DiscardableMemory, the DiscardableMemoryAllocator should not be used for small allocations since it works with page granularity (4 KBytes). On Android DiscardableMemory creation can now happen in two different ways: - Each client-requested allocation is backed by an individual ashmem region. This allows to delete ashmem regions individually by closing the ashmem file descriptor. This is the default path that is taken when file descriptor usage allows us to do so. - Allocations are performed by the global allocator when file descriptor usage gets too high. This still allows unpinning but does not allow deleting individual regions (i.e. immediately releasing the physycal pages backing them). Unfortunately the physical memory backing an ashmem region is only freed when the file descriptor is closed. madvise(MADV_REMOVE)/fallocate(FALLOCATE_FL_PUNCH_HOLE) don't work with ashmem unfortunately. When file descriptor usage gets too high (which can be observed on images.google.com for instance) the allocator starts operating by creating as less ashmem regions (= consuming as less FDs) as possible: - Large (32 MBytes) ashmem regions get lazily created. This size might need some tuning/runtime adjustment as a follow up. - Allocation works first by trying to recycle previously freed chunks (if any) by doing a closest size match (implemented with multiset<>.lower_bound() in O(log n)). If no free chunks can be recycled then a new chunk in the ashmem region is returned to the user. If the ashmem region is not big enough then a new region is created. - DiscardableMemory instance deletion works by marking the chunk used by the instance as discardable (i.e. ashmem_region_unpin()) and notifying the allocator with the metadata (e.g. chunk size) that allows it to later recycle the chunk efficiently. Note that free chunks are marked as discardable as mentioned above therefore they can be reclaimed by the kernel under memory pressure. Since they are not immediately released unfortunately the allocator still tries to minimize fragmentation (to avoid causing memory pressure) by merging free contiguous chunks when possible as well as splitting recycled free chunks that are too large (and that would cause fragmentation). BUG=299828 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=239763

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : #

Patch Set 4 : #

Patch Set 5 : Fix discardable_memory_allocator.cc #

Total comments: 4

Patch Set 6 : Fix bug when unlocked free chunks are recycled + add thread-safety #

Patch Set 7 : Address Przemek's comments #

Patch Set 8 : Fix typo #

Patch Set 9 : s/Chunk/FreeChunk and make PageAlign more readable #

Patch Set 10 : Shorten critical section + add unit test #

Patch Set 11 : Rework threading to allow destruction on a different thread as needed by clients #

Patch Set 12 : Add new unit test #

Patch Set 13 : Close ashmem region when it's completely free #

Patch Set 14 : Rebase #

Patch Set 15 : Cleanup include list #

Patch Set 16 : Split free chunks that are too large #

Patch Set 17 : Factor out PageAlign() + make size() return the aligned size #

Patch Set 18 : Factor out contiguous chunks merging #

Patch Set 19 : Reset |last_allocated_chunk_| in CloseAshmemRegion() #

Total comments: 23

Patch Set 20 : Address reviewers' comments #

Total comments: 16

Patch Set 21 : Make allocator private + address Egor's comments #

Patch Set 22 : s/actual_size/recycled_chunk_size #

Total comments: 28

Patch Set 23 : Address Egor's comments + fix Clang warning (note that the change doesn't fix a bug) #

Total comments: 3

Patch Set 24 : Address Egor's comments #

Patch Set 25 : s/make_scoped_ptr<DiscardableMemory>(NULL)/scoped_ptr<DiscardableMemory>() :) #

Patch Set 26 : Address Egor's offline comment (free chunks merging is not needed on the chunk splitting path) #

Total comments: 6

Patch Set 27 : Address Egor's comments #

Patch Set 28 : s/unlink/remove #

Patch Set 29 : Add merging comments #

Total comments: 13

Patch Set 30 : Address William's comments #

Total comments: 22

Patch Set 31 : Address William's comments #

Patch Set 32 : Move free chunk splitting to its own function #

Patch Set 33 : Fix stale comment #

Patch Set 34 : Fix comment #

Total comments: 8

Patch Set 35 : Add William's unit test #

Patch Set 36 : Remove FreeChunk::previous_chunk #

Patch Set 37 : Revert patch set 36 #

Patch Set 38 : Address the rest of William's comments (made in patch set 34) #

Total comments: 40

Patch Set 39 : Address William's comments #

Total comments: 36

Patch Set 40 : s/this/|this| #

Patch Set 41 : Add back comment that got lost in patch set 39 #

Patch Set 42 : Cleanup includes + comment #

Patch Set 43 : Address William's comments #

Patch Set 44 : Rebase #

Total comments: 14

Patch Set 45 : Address William's comments #

Patch Set 46 : Fix comment #

Total comments: 1

Patch Set 47 : Rebase #

Patch Set 48 : Fix Clang build #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+924 lines, -60 lines) Patch
M base/base.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 1 chunk +1 line, -0 lines 0 comments Download
M base/base.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 1 chunk +2 lines, -0 lines 0 comments Download
M base/memory/discardable_memory.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 1 chunk +2 lines, -0 lines 0 comments Download
A base/memory/discardable_memory_allocator_android.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 1 chunk +65 lines, -0 lines 0 comments Download
A base/memory/discardable_memory_allocator_android.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 1 chunk +418 lines, -0 lines 0 comments Download
A base/memory/discardable_memory_allocator_android_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 1 chunk +232 lines, -0 lines 0 comments Download
A base/memory/discardable_memory_android.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 1 chunk +37 lines, -0 lines 0 comments Download
M base/memory/discardable_memory_android.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 3 chunks +152 lines, -60 lines 0 comments Download
M base/memory/discardable_memory_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 1 chunk +15 lines, -0 lines 1 comment Download

Messages

Total messages: 61 (0 generated)
Philippe
I'm sending this for review although it's currently depending on https://chromiumcodereview.appspot.com/24988003/. Grace/Feng, this doesn't necessarily ...
7 years, 2 months ago (2013-10-01 14:14:20 UTC) #1
ppi
Nice! Two small remarks below. https://chromiumcodereview.appspot.com/25293002/diff/14001/base/memory/discardable_memory_allocator_android.cc File base/memory/discardable_memory_allocator_android.cc (right): https://chromiumcodereview.appspot.com/25293002/diff/14001/base/memory/discardable_memory_allocator_android.cc#newcode114 base/memory/discardable_memory_allocator_android.cc:114: scoped_ptr<DiscardableMemory> Allocate(size_t size) { ...
7 years, 2 months ago (2013-10-02 10:31:06 UTC) #2
Philippe
Thanks Przemek! FYI, I also fixed a bug when unlocked free chunks are being recycled ...
7 years, 2 months ago (2013-10-02 13:51:29 UTC) #3
Philippe
On 2013/10/02 13:51:29, Philippe wrote: > Thanks Przemek! > > FYI, I also fixed a ...
7 years, 2 months ago (2013-10-21 13:24:52 UTC) #4
Avi (use Gerrit)
This is well out of my expertise. It looks plausible but I don't see myself ...
7 years, 2 months ago (2013-10-21 15:17:52 UTC) #5
Philippe
On 2013/10/21 15:17:52, Avi wrote: > This is well out of my expertise. It looks ...
7 years, 2 months ago (2013-10-21 15:28:33 UTC) #6
Avi (use Gerrit)
Who is using DiscardableMemory? Would all of them be using DiscardableMemoryAllocator due to their needs? ...
7 years, 2 months ago (2013-10-21 15:36:25 UTC) #7
Philippe
On 2013/10/21 15:36:25, Avi wrote: > Who is using DiscardableMemory? Would all of them be ...
7 years, 2 months ago (2013-10-21 15:51:37 UTC) #8
willchan no longer on Chromium
https://chromiumcodereview.appspot.com/25293002/diff/381001/base/memory/discardable_memory.h File base/memory/discardable_memory.h (right): https://chromiumcodereview.appspot.com/25293002/diff/381001/base/memory/discardable_memory.h#newcode52 base/memory/discardable_memory.h:52: // they were constructed on even though they can ...
7 years, 2 months ago (2013-10-21 18:30:40 UTC) #9
pliard
Thanks William for the initial pass! I will address your comments tomorrow but I wanted ...
7 years, 2 months ago (2013-10-21 19:55:40 UTC) #10
Avi (use Gerrit)
BTW, https://codereview.chromium.org/17106004/, which is also hacking on DiscardableMemory, relies on a singleton. Can you talk ...
7 years, 2 months ago (2013-10-21 20:16:26 UTC) #11
reveman
https://chromiumcodereview.appspot.com/25293002/diff/381001/base/memory/discardable_memory.h File base/memory/discardable_memory.h (right): https://chromiumcodereview.appspot.com/25293002/diff/381001/base/memory/discardable_memory.h#newcode52 base/memory/discardable_memory.h:52: // they were constructed on even though they can ...
7 years, 2 months ago (2013-10-21 21:11:05 UTC) #12
willchan no longer on Chromium
https://chromiumcodereview.appspot.com/25293002/diff/381001/base/memory/discardable_memory.h File base/memory/discardable_memory.h (right): https://chromiumcodereview.appspot.com/25293002/diff/381001/base/memory/discardable_memory.h#newcode52 base/memory/discardable_memory.h:52: // they were constructed on even though they can ...
7 years, 2 months ago (2013-10-21 21:13:01 UTC) #13
Philippe
Thanks guys! Ideally I would like us to answer Avi's initial question which I elaborated ...
7 years, 2 months ago (2013-10-22 09:32:51 UTC) #14
reveman
https://chromiumcodereview.appspot.com/25293002/diff/381001/base/memory/discardable_memory_allocator.h File base/memory/discardable_memory_allocator.h (right): https://chromiumcodereview.appspot.com/25293002/diff/381001/base/memory/discardable_memory_allocator.h#newcode33 base/memory/discardable_memory_allocator.h:33: class BASE_EXPORT DiscardableMemoryAllocator { On 2013/10/22 09:32:52, Philippe wrote: ...
7 years, 2 months ago (2013-10-22 18:09:05 UTC) #15
pasko
On 2013/10/22 18:09:05, David Reveman wrote: > https://chromiumcodereview.appspot.com/25293002/diff/381001/base/memory/discardable_memory_allocator.h > File base/memory/discardable_memory_allocator.h (right): > > https://chromiumcodereview.appspot.com/25293002/diff/381001/base/memory/discardable_memory_allocator.h#newcode33 ...
7 years, 2 months ago (2013-10-22 20:11:27 UTC) #16
pasko
Philippe, I also looked at the code some. As usual, it is a great piece ...
7 years, 2 months ago (2013-10-22 20:14:28 UTC) #17
willchan no longer on Chromium
https://chromiumcodereview.appspot.com/25293002/diff/381001/base/memory/discardable_memory_allocator.h File base/memory/discardable_memory_allocator.h (right): https://chromiumcodereview.appspot.com/25293002/diff/381001/base/memory/discardable_memory_allocator.h#newcode33 base/memory/discardable_memory_allocator.h:33: class BASE_EXPORT DiscardableMemoryAllocator { On 2013/10/22 18:09:05, David Reveman ...
7 years, 2 months ago (2013-10-22 22:51:10 UTC) #18
Philippe
Thanks Egor! PTAL :) https://codereview.chromium.org/25293002/diff/571001/base/memory/discardable_memory_allocator_android.cc File base/memory/discardable_memory_allocator_android.cc (right): https://codereview.chromium.org/25293002/diff/571001/base/memory/discardable_memory_allocator_android.cc#newcode28 base/memory/discardable_memory_allocator_android.cc:28: class DiscardableMemoryChunk : public DiscardableMemory ...
7 years, 2 months ago (2013-10-23 11:46:56 UTC) #19
Philippe
https://codereview.chromium.org/25293002/diff/571001/base/memory/discardable_memory_allocator_android.cc File base/memory/discardable_memory_allocator_android.cc (right): https://codereview.chromium.org/25293002/diff/571001/base/memory/discardable_memory_allocator_android.cc#newcode199 base/memory/discardable_memory_allocator_android.cc:199: enum ContiguousChunksMergingFlags { On 2013/10/23 11:46:56, Philippe wrote: > ...
7 years, 2 months ago (2013-10-24 08:35:52 UTC) #20
Philippe
On 2013/10/24 08:35:52, Philippe wrote: > https://codereview.chromium.org/25293002/diff/571001/base/memory/discardable_memory_allocator_android.cc > File base/memory/discardable_memory_allocator_android.cc (right): > > https://codereview.chromium.org/25293002/diff/571001/base/memory/discardable_memory_allocator_android.cc#newcode199 > ...
7 years, 1 month ago (2013-10-25 08:41:22 UTC) #21
pasko
comments beyond chunk splitting and merging logic, just did not look at them yet https://codereview.chromium.org/25293002/diff/801001/base/memory/discardable_memory.h ...
7 years, 1 month ago (2013-10-25 15:21:12 UTC) #22
Philippe
Thanks Egor! https://codereview.chromium.org/25293002/diff/801001/base/memory/discardable_memory.h File base/memory/discardable_memory.h (right): https://codereview.chromium.org/25293002/diff/801001/base/memory/discardable_memory.h#newcode48 base/memory/discardable_memory.h:48: // Thread-safety: DiscardableMemory instances are not thread-safe. ...
7 years, 1 month ago (2013-10-28 09:44:42 UTC) #23
pasko
https://codereview.chromium.org/25293002/diff/801001/base/memory/discardable_memory_allocator_android.cc File base/memory/discardable_memory_allocator_android.cc (right): https://codereview.chromium.org/25293002/diff/801001/base/memory/discardable_memory_allocator_android.cc#newcode316 base/memory/discardable_memory_allocator_android.cc:316: bool OpenAshmemRegion() { ashmem regions can already be created, ...
7 years, 1 month ago (2013-10-28 14:40:05 UTC) #24
reveman
https://codereview.chromium.org/25293002/diff/801001/base/memory/discardable_memory.h File base/memory/discardable_memory.h (right): https://codereview.chromium.org/25293002/diff/801001/base/memory/discardable_memory.h#newcode48 base/memory/discardable_memory.h:48: // Thread-safety: DiscardableMemory instances are not thread-safe. On 2013/10/28 ...
7 years, 1 month ago (2013-10-28 15:45:22 UTC) #25
Philippe
https://codereview.chromium.org/25293002/diff/801001/base/memory/discardable_memory.h File base/memory/discardable_memory.h (right): https://codereview.chromium.org/25293002/diff/801001/base/memory/discardable_memory.h#newcode48 base/memory/discardable_memory.h:48: // Thread-safety: DiscardableMemory instances are not thread-safe. On 2013/10/28 ...
7 years, 1 month ago (2013-10-28 15:49:13 UTC) #26
pliard
Oops I didn't mean to publish the comments now (since I haven't pushed the new ...
7 years, 1 month ago (2013-10-28 15:52:19 UTC) #27
pasko
https://codereview.chromium.org/25293002/diff/1151001/base/memory/discardable_memory_allocator_android.cc File base/memory/discardable_memory_allocator_android.cc (right): https://codereview.chromium.org/25293002/diff/1151001/base/memory/discardable_memory_allocator_android.cc#newcode248 base/memory/discardable_memory_allocator_android.cc:248: void MergeAndAddFreeChunk(int fd, FYI: parameter |fd| is not used.
7 years, 1 month ago (2013-10-28 17:44:44 UTC) #28
Philippe
https://codereview.chromium.org/25293002/diff/1151001/base/memory/discardable_memory_allocator_android.cc File base/memory/discardable_memory_allocator_android.cc (right): https://codereview.chromium.org/25293002/diff/1151001/base/memory/discardable_memory_allocator_android.cc#newcode248 base/memory/discardable_memory_allocator_android.cc:248: void MergeAndAddFreeChunk(int fd, On 2013/10/28 17:44:45, pasko wrote: > ...
7 years, 1 month ago (2013-10-28 17:50:21 UTC) #29
pasko
LGTM, thanks, Philippe! https://codereview.chromium.org/25293002/diff/1151001/base/memory/discardable_memory_allocator_android.cc File base/memory/discardable_memory_allocator_android.cc (right): https://codereview.chromium.org/25293002/diff/1151001/base/memory/discardable_memory_allocator_android.cc#newcode264 base/memory/discardable_memory_allocator_android.cc:264: while (true) { Really a nit: ...
7 years, 1 month ago (2013-10-28 18:10:32 UTC) #30
willchan no longer on Chromium
I've skimmed the whole CL now and have general comments before I dive deeper. At ...
7 years, 1 month ago (2013-10-28 19:54:05 UTC) #31
Philippe
Thanks a lot Egor and William! I will look at your proposal more in detail ...
7 years, 1 month ago (2013-10-29 10:11:24 UTC) #32
pasko
https://codereview.chromium.org/25293002/diff/1151001/base/memory/discardable_memory_allocator_android.cc File base/memory/discardable_memory_allocator_android.cc (right): https://codereview.chromium.org/25293002/diff/1151001/base/memory/discardable_memory_allocator_android.cc#newcode264 base/memory/discardable_memory_allocator_android.cc:264: while (true) { On 2013/10/29 10:11:25, Philippe wrote: > ...
7 years, 1 month ago (2013-10-29 10:47:56 UTC) #33
Philippe
https://codereview.chromium.org/25293002/diff/1151001/base/memory/discardable_memory_allocator_android.cc File base/memory/discardable_memory_allocator_android.cc (right): https://codereview.chromium.org/25293002/diff/1151001/base/memory/discardable_memory_allocator_android.cc#newcode264 base/memory/discardable_memory_allocator_android.cc:264: while (true) { On 2013/10/29 10:47:57, pasko wrote: > ...
7 years, 1 month ago (2013-10-29 10:54:34 UTC) #34
pliard
Hi William, I think the testability could indeed be improved with your proposal. Additionally, it ...
7 years, 1 month ago (2013-10-31 14:05:11 UTC) #35
pliard
William: Ping? :) On Thu, Oct 31, 2013 at 3:05 PM, Philippe Liard <pliard@google.com> wrote: ...
7 years, 1 month ago (2013-11-06 15:50:44 UTC) #36
willchan no longer on Chromium
Terribly sorry. If I don't respond in a day, feel free to ping me. I'm ...
7 years, 1 month ago (2013-11-06 16:50:46 UTC) #37
pliard
No worries William :) I indeed saw on your calendar that you were OOO. Thanks. ...
7 years, 1 month ago (2013-11-06 16:52:00 UTC) #38
pliard
Friendly weekly ping :) On Wed, Nov 6, 2013 at 5:51 PM, Philippe Liard <pliard@google.com> ...
7 years, 1 month ago (2013-11-18 10:38:53 UTC) #39
willchan no longer on Chromium
Sigh. Such fail. My bad. I'll try to do this tonight before I go to ...
7 years, 1 month ago (2013-11-18 10:42:39 UTC) #40
willchan no longer on Chromium
Sorry, I'm still jetlagged and didn't finish this iteration. I'm fine with your reply about ...
7 years, 1 month ago (2013-11-18 14:53:12 UTC) #41
Philippe
Thanks a lot William! https://codereview.chromium.org/25293002/diff/921001/base/memory/discardable_memory.h File base/memory/discardable_memory.h (right): https://codereview.chromium.org/25293002/diff/921001/base/memory/discardable_memory.h#newcode58 base/memory/discardable_memory.h:58: // Returns the memory's actual ...
7 years, 1 month ago (2013-11-18 16:34:50 UTC) #42
willchan no longer on Chromium
Sorry for taking so long. I've done a fairly deep review now and there's no ...
7 years, 1 month ago (2013-11-19 02:19:42 UTC) #43
Philippe
Thanks William! I also got rid of the uintptr_t conversions by making the maps use ...
7 years, 1 month ago (2013-11-19 15:42:59 UTC) #44
Philippe
On 2013/11/19 15:42:59, Philippe wrote: > Thanks William! > > I also got rid of ...
7 years ago (2013-11-25 08:45:21 UTC) #45
willchan no longer on Chromium
Thanks for the reminder. I'm flying back from Tokyo and will look at this on ...
7 years ago (2013-11-25 08:48:33 UTC) #46
Philippe
Great, thanks! On Mon, Nov 25, 2013 at 9:48 AM, William Chan (陈智昌) <willchan@chromium.org>wrote: > ...
7 years ago (2013-11-25 08:55:16 UTC) #47
willchan no longer on Chromium
I'm sorry, I'm too jetlagged to think straight. I'm going to sleep and look at ...
7 years ago (2013-11-27 06:52:05 UTC) #48
Philippe
Thanks William! I just realized that I had done a rebase, sorry for that. https://chromiumcodereview.appspot.com/25293002/diff/1761001/base/memory/discardable_memory_allocator_android.cc ...
7 years ago (2013-11-27 14:22:09 UTC) #49
willchan no longer on Chromium
https://codereview.chromium.org/25293002/diff/1761001/base/memory/discardable_memory_allocator_android.cc File base/memory/discardable_memory_allocator_android.cc (right): https://codereview.chromium.org/25293002/diff/1761001/base/memory/discardable_memory_allocator_android.cc#newcode202 base/memory/discardable_memory_allocator_android.cc:202: std::make_pair(chunk_it->start, chunk_it->previous_chunk)); On 2013/11/27 14:22:10, Philippe wrote: > On ...
7 years ago (2013-11-28 06:16:36 UTC) #50
Philippe
Thanks a lot William! Great catches as usual. I feel quite retarded now :) https://codereview.chromium.org/25293002/diff/1861009/base/memory/discardable_memory_allocator_android.cc ...
7 years ago (2013-11-28 16:42:52 UTC) #51
willchan no longer on Chromium
Can you move out the ScopedVector change to a separate changelist? Feel free to TBR=willchan, ...
7 years ago (2013-11-28 17:44:18 UTC) #52
willchan no longer on Chromium
Sorry, it's Thanksgiving so I didn't finish this as thoroughly. I'll do another pass later. ...
7 years ago (2013-11-28 22:51:54 UTC) #53
Philippe
Thanks William, have a nice Thanksgiving! FYI, I also landed the pop_back() change as r237921 ...
7 years ago (2013-11-29 12:41:04 UTC) #54
willchan no longer on Chromium
LGTM I only had nits left. Sorry again for the long delays in reviewing this ...
7 years ago (2013-12-01 00:58:54 UTC) #55
Philippe
Thanks a lot William! FYI, I will see if I can add a new Telemetry ...
7 years ago (2013-12-02 10:56:37 UTC) #56
reveman
https://codereview.chromium.org/25293002/diff/2051001/base/memory/discardable_memory_unittest.cc File base/memory/discardable_memory_unittest.cc (right): https://codereview.chromium.org/25293002/diff/2051001/base/memory/discardable_memory_unittest.cc#newcode15 base/memory/discardable_memory_unittest.cc:15: TEST(DiscardableMemoryTest, TooLargeAllocationFails) { The addition of this test is ...
7 years ago (2013-12-05 23:21:39 UTC) #57
pliard
On 2013/12/05 23:21:39, David Reveman wrote: > https://codereview.chromium.org/25293002/diff/2051001/base/memory/discardable_memory_unittest.cc > File base/memory/discardable_memory_unittest.cc (right): > > https://codereview.chromium.org/25293002/diff/2051001/base/memory/discardable_memory_unittest.cc#newcode15 ...
7 years ago (2013-12-10 10:27:13 UTC) #58
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/pliard@chromium.org/25293002/2091001
7 years ago (2013-12-10 10:28:30 UTC) #59
commit-bot: I haz the power
Change committed as 239763
7 years ago (2013-12-10 13:11:47 UTC) #60
Philippe
7 years ago (2013-12-10 13:59:13 UTC) #61
Message was sent while issue was closed.
https://codereview.chromium.org/25293002/diff/2091001/base/memory/discardable...
File base/memory/discardable_memory_unittest.cc (right):

https://codereview.chromium.org/25293002/diff/2091001/base/memory/discardable...
base/memory/discardable_memory_unittest.cc:15: TEST(DiscardableMemoryTest,
TooLargeAllocationFails) {
FYI, I'm reverting the CL. ASAN complains due to malloc() returning NULL on
Linux with the provider. I think we should just disable the test with ASAN or
tell ASAN somehow that the NULL is expected. I will reland with the fix.

Powered by Google App Engine
This is Rietveld 408576698