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

Issue 204733003: base: Refactor DiscardableMemoryManager for use with different type of allocations. (Closed)

Created:
6 years, 9 months ago by reveman
Modified:
6 years, 8 months ago
CC:
chromium-reviews, erikwright+watch_chromium.org, gavinp+memory_chromium.org
Visibility:
Public.

Description

base: Refactor DiscdarableMemoryManager for use with different type of allocations. This replaces the code in DiscardableMemoryManager that was hard-coded to use heap allocations with code that handle instances that implement the DiscardableMemoryManagerAllocation interface instead. This allows us to use the manager class not only for emulated discardable memory but any other type that might need some level of userspace control. This also removes the circular dependency between DiscardableMemoryManager and DiscardableMemory classes. BUG=327516 TEST=base_unittests --gtest_filter=DiscardableMemory* Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=266174

Patch Set 1 #

Total comments: 3

Patch Set 2 : address review feedback #

Patch Set 3 : add missing unlock call and remove unnecessary unlock call #

Total comments: 21

Patch Set 4 : address review feedback #

Patch Set 5 : limit patch to what's needed short term #

Total comments: 16

Patch Set 6 : address review feeback #

Unified diffs Side-by-side diffs Delta from patch set Stats (+367 lines, -328 lines) Patch
M base/memory/discardable_memory_emulated.h View 1 2 3 4 2 chunks +11 lines, -2 lines 0 comments Download
M base/memory/discardable_memory_emulated.cc View 1 2 3 4 3 chunks +15 lines, -4 lines 0 comments Download
M base/memory/discardable_memory_manager.h View 1 2 3 4 5 4 chunks +78 lines, -59 lines 0 comments Download
M base/memory/discardable_memory_manager.cc View 1 2 3 4 5 8 chunks +66 lines, -82 lines 0 comments Download
M base/memory/discardable_memory_manager_unittest.cc View 1 2 3 4 5 6 chunks +197 lines, -181 lines 0 comments Download

Messages

Total messages: 44 (0 generated)
Philippe
Thanks David! The interface changes (that will let us use the controller on Android) look ...
6 years, 9 months ago (2014-03-19 17:33:10 UTC) #1
reveman
https://codereview.chromium.org/204733003/diff/1/base/memory/discardable_memory_allocation.h File base/memory/discardable_memory_allocation.h (right): https://codereview.chromium.org/204733003/diff/1/base/memory/discardable_memory_allocation.h#newcode18 base/memory/discardable_memory_allocation.h:18: virtual linked_ptr<DiscardableMemoryAllocation> CreateLockedAllocation( On 2014/03/19 17:33:10, Philippe wrote: > ...
6 years, 9 months ago (2014-03-20 15:21:41 UTC) #2
Philippe
https://codereview.chromium.org/204733003/diff/40001/base/memory/discardable_memory_emulated.cc File base/memory/discardable_memory_emulated.cc (right): https://codereview.chromium.org/204733003/diff/40001/base/memory/discardable_memory_emulated.cc#newcode46 base/memory/discardable_memory_emulated.cc:46: : internal::DiscardableMemoryManager(this, I think this part is slightly hairy ...
6 years, 9 months ago (2014-03-20 18:08:30 UTC) #3
reveman
https://codereview.chromium.org/204733003/diff/40001/base/memory/discardable_memory_emulated.cc File base/memory/discardable_memory_emulated.cc (right): https://codereview.chromium.org/204733003/diff/40001/base/memory/discardable_memory_emulated.cc#newcode46 base/memory/discardable_memory_emulated.cc:46: : internal::DiscardableMemoryManager(this, On 2014/03/20 18:08:31, Philippe wrote: > I ...
6 years, 9 months ago (2014-03-20 19:08:21 UTC) #4
Philippe
https://codereview.chromium.org/204733003/diff/40001/base/memory/discardable_memory_emulated.cc File base/memory/discardable_memory_emulated.cc (right): https://codereview.chromium.org/204733003/diff/40001/base/memory/discardable_memory_emulated.cc#newcode46 base/memory/discardable_memory_emulated.cc:46: : internal::DiscardableMemoryManager(this, On 2014/03/20 19:08:22, reveman wrote: > On ...
6 years, 9 months ago (2014-03-21 09:13:08 UTC) #5
Philippe
https://codereview.chromium.org/204733003/diff/40001/base/memory/discardable_memory_emulated.cc File base/memory/discardable_memory_emulated.cc (right): https://codereview.chromium.org/204733003/diff/40001/base/memory/discardable_memory_emulated.cc#newcode46 base/memory/discardable_memory_emulated.cc:46: : internal::DiscardableMemoryManager(this, On 2014/03/21 09:13:09, Philippe wrote: > On ...
6 years, 9 months ago (2014-03-21 09:49:19 UTC) #6
Philippe
On 2014/03/21 09:49:19, Philippe wrote: > https://codereview.chromium.org/204733003/diff/40001/base/memory/discardable_memory_emulated.cc > File base/memory/discardable_memory_emulated.cc (right): > > https://codereview.chromium.org/204733003/diff/40001/base/memory/discardable_memory_emulated.cc#newcode46 > ...
6 years, 9 months ago (2014-03-21 10:15:31 UTC) #7
reveman
https://codereview.chromium.org/204733003/diff/40001/base/memory/discardable_memory_emulated.cc File base/memory/discardable_memory_emulated.cc (right): https://codereview.chromium.org/204733003/diff/40001/base/memory/discardable_memory_emulated.cc#newcode46 base/memory/discardable_memory_emulated.cc:46: : internal::DiscardableMemoryManager(this, On 2014/03/21 09:13:09, Philippe wrote: > On ...
6 years, 9 months ago (2014-03-21 12:32:16 UTC) #8
Philippe
https://codereview.chromium.org/204733003/diff/40001/base/memory/discardable_memory_emulated.cc File base/memory/discardable_memory_emulated.cc (right): https://codereview.chromium.org/204733003/diff/40001/base/memory/discardable_memory_emulated.cc#newcode46 base/memory/discardable_memory_emulated.cc:46: : internal::DiscardableMemoryManager(this, On 2014/03/21 12:32:16, reveman wrote: > On ...
6 years, 9 months ago (2014-03-21 12:40:49 UTC) #9
reveman
On 2014/03/21 12:40:49, Philippe wrote: > https://codereview.chromium.org/204733003/diff/40001/base/memory/discardable_memory_emulated.cc > File base/memory/discardable_memory_emulated.cc (right): > > https://codereview.chromium.org/204733003/diff/40001/base/memory/discardable_memory_emulated.cc#newcode46 > ...
6 years, 9 months ago (2014-03-21 12:54:39 UTC) #10
Philippe
On 2014/03/21 12:54:39, reveman wrote: > On 2014/03/21 12:40:49, Philippe wrote: > > > https://codereview.chromium.org/204733003/diff/40001/base/memory/discardable_memory_emulated.cc ...
6 years, 9 months ago (2014-03-21 13:26:40 UTC) #11
reveman
On 2014/03/21 13:26:40, Philippe wrote: > On 2014/03/21 12:54:39, reveman wrote: > > On 2014/03/21 ...
6 years, 9 months ago (2014-03-22 16:18:25 UTC) #12
reveman
Here's another option for how to implement the factory interface and the manager type for ...
6 years, 9 months ago (2014-03-22 16:49:33 UTC) #13
reveman
+willchan Please take a look.
6 years, 9 months ago (2014-03-22 17:00:04 UTC) #14
Philippe
https://codereview.chromium.org/204733003/diff/40001/base/memory/discardable_memory_emulated.cc File base/memory/discardable_memory_emulated.cc (right): https://codereview.chromium.org/204733003/diff/40001/base/memory/discardable_memory_emulated.cc#newcode46 base/memory/discardable_memory_emulated.cc:46: : internal::DiscardableMemoryManager(this, On 2014/03/22 16:49:34, reveman wrote: > On ...
6 years, 9 months ago (2014-03-24 09:35:30 UTC) #15
reveman
On 2014/03/24 09:35:30, Philippe wrote: > https://codereview.chromium.org/204733003/diff/40001/base/memory/discardable_memory_emulated.cc > File base/memory/discardable_memory_emulated.cc (right): > > https://codereview.chromium.org/204733003/diff/40001/base/memory/discardable_memory_emulated.cc#newcode46 > ...
6 years, 9 months ago (2014-03-24 16:29:57 UTC) #16
Philippe
On 2014/03/24 16:29:57, reveman wrote: > On 2014/03/24 09:35:30, Philippe wrote: > > > https://codereview.chromium.org/204733003/diff/40001/base/memory/discardable_memory_emulated.cc ...
6 years, 9 months ago (2014-03-24 16:54:15 UTC) #17
reveman
On 2014/03/24 16:54:15, Philippe wrote: > On 2014/03/24 16:29:57, reveman wrote: > > On 2014/03/24 ...
6 years, 9 months ago (2014-03-24 17:06:04 UTC) #18
Philippe
On 2014/03/24 17:06:04, reveman wrote: > On 2014/03/24 16:54:15, Philippe wrote: > > On 2014/03/24 ...
6 years, 9 months ago (2014-03-24 17:14:25 UTC) #19
willchan no longer on Chromium
I haven't reviewed the composition vs inheritance discussion in detail, but my initial reaction is ...
6 years, 8 months ago (2014-04-01 01:11:07 UTC) #20
reveman
PTAL https://codereview.chromium.org/204733003/diff/40001/base/memory/discardable_memory_allocation.h File base/memory/discardable_memory_allocation.h (right): https://codereview.chromium.org/204733003/diff/40001/base/memory/discardable_memory_allocation.h#newcode14 base/memory/discardable_memory_allocation.h:14: class BASE_EXPORT_PRIVATE DiscardableMemoryAllocation { On 2014/04/01 01:11:08, willchan ...
6 years, 8 months ago (2014-04-03 17:02:12 UTC) #21
reveman
Let's move this forward. If current patch is not OK, please provide some specific suggestion ...
6 years, 8 months ago (2014-04-14 15:27:26 UTC) #22
Philippe
https://codereview.chromium.org/204733003/diff/40001/base/memory/discardable_memory_emulated.cc File base/memory/discardable_memory_emulated.cc (right): https://codereview.chromium.org/204733003/diff/40001/base/memory/discardable_memory_emulated.cc#newcode46 base/memory/discardable_memory_emulated.cc:46: : internal::DiscardableMemoryManager(this, On 2014/04/03 17:02:12, reveman wrote: > On ...
6 years, 8 months ago (2014-04-14 15:35:46 UTC) #23
reveman
On 2014/04/14 15:35:46, Philippe wrote: > > I agree, let's move this forward :) I ...
6 years, 8 months ago (2014-04-14 16:24:22 UTC) #24
Philippe
On 2014/04/14 16:24:22, reveman wrote: > On 2014/04/14 15:35:46, Philippe wrote: > > > > ...
6 years, 8 months ago (2014-04-15 13:31:23 UTC) #25
willchan no longer on Chromium
https://codereview.chromium.org/204733003/diff/40001/base/memory/discardable_memory_emulated.cc File base/memory/discardable_memory_emulated.cc (right): https://codereview.chromium.org/204733003/diff/40001/base/memory/discardable_memory_emulated.cc#newcode17 base/memory/discardable_memory_emulated.cc:17: class DiscardableMemoryAllocationImpl On 2014/04/03 17:02:12, reveman wrote: > On ...
6 years, 8 months ago (2014-04-15 20:51:31 UTC) #26
reveman
Limiting this to only what we need to allow different type of allocations. We can ...
6 years, 8 months ago (2014-04-21 16:46:40 UTC) #27
willchan no longer on Chromium
I skimmed this and the design seems reasonable to me. Philippe, mind doing the detailed ...
6 years, 8 months ago (2014-04-21 19:56:03 UTC) #28
Philippe
With this new patch set you are adding some complexity to the way the manager ...
6 years, 8 months ago (2014-04-22 09:48:11 UTC) #29
reveman
Philippe, thanks for having a look. If you're OK with current patch let's move forward ...
6 years, 8 months ago (2014-04-22 16:33:49 UTC) #30
Philippe
On 2014/04/22 16:33:49, reveman wrote: > Philippe, thanks for having a look. If you're OK ...
6 years, 8 months ago (2014-04-22 16:50:08 UTC) #31
reveman
On 2014/04/22 16:50:08, Philippe wrote: > On 2014/04/22 16:33:49, reveman wrote: > > Philippe, thanks ...
6 years, 8 months ago (2014-04-22 18:27:08 UTC) #32
Philippe
https://codereview.chromium.org/204733003/diff/80001/base/memory/discardable_memory_manager.cc File base/memory/discardable_memory_manager.cc (right): https://codereview.chromium.org/204733003/diff/80001/base/memory/discardable_memory_manager.cc#newcode80 base/memory/discardable_memory_manager.cc:80: AllocationInfo& info = it->second; Nit: it seems that this ...
6 years, 8 months ago (2014-04-23 11:34:05 UTC) #33
reveman
Thanks for the review. PTAL. https://codereview.chromium.org/204733003/diff/80001/base/memory/discardable_memory_manager.cc File base/memory/discardable_memory_manager.cc (right): https://codereview.chromium.org/204733003/diff/80001/base/memory/discardable_memory_manager.cc#newcode80 base/memory/discardable_memory_manager.cc:80: AllocationInfo& info = it->second; ...
6 years, 8 months ago (2014-04-23 18:51:26 UTC) #34
Philippe
LGTM, thanks David! I will update my CL now.
6 years, 8 months ago (2014-04-24 08:05:40 UTC) #35
willchan no longer on Chromium
lgtm I unfortunately didn't have time to more than skim the tests, but I'm trusting ...
6 years, 8 months ago (2014-04-24 20:02:18 UTC) #36
reveman
On 2014/04/24 20:02:18, willchan wrote: > lgtm > > I unfortunately didn't have time to ...
6 years, 8 months ago (2014-04-24 20:19:48 UTC) #37
reveman
The CQ bit was checked by reveman@chromium.org
6 years, 8 months ago (2014-04-24 20:20:04 UTC) #38
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/reveman@chromium.org/204733003/100001
6 years, 8 months ago (2014-04-24 21:45:46 UTC) #39
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 8 months ago (2014-04-24 22:39:50 UTC) #40
commit-bot: I haz the power
Try jobs failed on following builders: tryserver.chromium on win_chromium_rel
6 years, 8 months ago (2014-04-24 22:39:51 UTC) #41
reveman
The CQ bit was checked by reveman@chromium.org
6 years, 8 months ago (2014-04-25 01:23:36 UTC) #42
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/reveman@chromium.org/204733003/100001
6 years, 8 months ago (2014-04-25 01:35:00 UTC) #43
commit-bot: I haz the power
6 years, 8 months ago (2014-04-25 09:26:34 UTC) #44
Message was sent while issue was closed.
Change committed as 266174

Powered by Google App Engine
This is Rietveld 408576698