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

Issue 1165903002: Multi reader/writer cache/buffer (Closed)

Created:
5 years, 6 months ago by hubbe
Modified:
5 years, 1 month ago
CC:
chromium-reviews, feature-media-reviews_chromium.org, miu, ddorwin
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Multi reader/writer cache/buffer MultiBuffer is meant to be integrated into buffered_resource_loader to provide more efficient cacheing. Unit tests are in a separate CL: https://codereview.chromium.org/1420883004 Depends on: https://codereview.chromium.org/1427433012/ https://codereview.chromium.org/1422523007/ Media cache design doc: https://docs.google.com/document/d/15q6LTG0iDUe30QcoMtj4XNmKCa_7W_Q2uUIPFsJhS1E/edit BUG=514719 Committed: https://crrev.com/89d5cdfa35dad6711cc0177e3eaae75f5e08d83a Cr-Commit-Position: refs/heads/master@{#359627}

Patch Set 1 #

Patch Set 2 : rangemap done and tested #

Patch Set 3 : lru unit tests #

Total comments: 21

Patch Set 4 : more tests + lots of fixes #

Patch Set 5 : writers refactored #

Patch Set 6 : major integration done (in separate cl) #

Patch Set 7 : missed waiter_index.cc #

Patch Set 8 : more tests #

Total comments: 52

Patch Set 9 : more tests, comments adressed, minor refactoring + a little code cleanup #

Total comments: 8

Patch Set 10 : comments addressed #

Patch Set 11 : compile fixes #

Patch Set 12 : use int64_t more consistently #

Patch Set 13 : fix variable initialization ordering #

Patch Set 14 : compile fixes #

Patch Set 15 : win compile workaround #

Patch Set 16 : win compile fix #

Patch Set 17 : export symbols #

Patch Set 18 : oops #

Patch Set 19 : export more symbols #

Patch Set 20 : compile fixes #

Patch Set 21 : one more compile fix #

Total comments: 27

Patch Set 22 : some comments addressed #

Patch Set 23 : refactor #

Total comments: 37

Patch Set 24 : commments addressed #

Total comments: 8

Patch Set 25 : comments addressed + minor cleanup & compile fixes #

Patch Set 26 : compile fixes #

Total comments: 4

Patch Set 27 : compile fixes #

Patch Set 28 : use intptr_t #

Total comments: 12

Patch Set 29 : split out helper classes + added more comments #

Patch Set 30 : split out reader #

Patch Set 31 : merged #

Patch Set 32 : mac workaround #

Patch Set 33 : merged #

Total comments: 26

Patch Set 34 : comments addressed + merged in rangemap -> intervalmap name change #

Patch Set 35 : save a few cycles on 32 bit platforms #

Patch Set 36 : formatted #

Unified diffs Side-by-side diffs Delta from patch set Stats (+805 lines, -0 lines) Patch
M media/blink/BUILD.gn 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 1 chunk +4 lines, -0 lines 0 comments Download
M media/blink/media_blink.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 1 chunk +4 lines, -0 lines 0 comments Download
A media/blink/multibuffer.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 1 chunk +317 lines, -0 lines 0 comments Download
A media/blink/multibuffer.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 1 chunk +480 lines, -0 lines 0 comments Download

Dependent Patchsets:

Messages

Total messages: 66 (14 generated)
hubbe
First look at MultiBuffer. The code is not ready to be checked in. It is ...
5 years, 6 months ago (2015-06-03 21:34:23 UTC) #2
DaleCurtis
+liberato to help with high level design since he's looked through our network level cache.
5 years, 6 months ago (2015-06-03 23:59:06 UTC) #4
DaleCurtis
Can you start a doc with how you intend these components to hook up and ...
5 years, 6 months ago (2015-06-04 00:02:49 UTC) #5
hubbe
On 2015/06/04 00:02:49, DaleCurtis wrote: > Can you start a doc with how you intend ...
5 years, 6 months ago (2015-06-04 19:40:59 UTC) #6
DaleCurtis
On 2015/06/04 19:40:59, hubbe wrote: > On 2015/06/04 00:02:49, DaleCurtis wrote: > > Can you ...
5 years, 6 months ago (2015-06-04 21:39:34 UTC) #7
hubbe
On 2015/06/04 21:39:34, DaleCurtis wrote: > On 2015/06/04 19:40:59, hubbe wrote: > > On 2015/06/04 ...
5 years, 6 months ago (2015-06-04 21:55:03 UTC) #8
liberato (no reviews please)
really sorry for the delay. missed that i had an incoming review. will check my ...
5 years, 6 months ago (2015-06-09 15:00:54 UTC) #9
hubbe
I've added some more tests, cleaned up a bunch of things that didn't work (because ...
5 years, 6 months ago (2015-06-09 21:23:48 UTC) #10
liberato (no reviews please)
thanks for the clarifications. i'll hang out and wait for the design doc updates before ...
5 years, 6 months ago (2015-06-09 21:50:47 UTC) #11
hubbe
Design doc updated... https://codereview.chromium.org/1165903002/diff/40001/media/blink/multibuffer.cc File media/blink/multibuffer.cc (right): https://codereview.chromium.org/1165903002/diff/40001/media/blink/multibuffer.cc#newcode275 media/blink/multibuffer.cc:275: ++i; On 2015/06/09 21:50:47, liberato wrote: ...
5 years, 6 months ago (2015-06-09 23:14:13 UTC) #12
hubbe
Refactored writers using inversion-of-control, which puts all the writer logic, construction and destruction in one ...
5 years, 6 months ago (2015-06-12 22:53:36 UTC) #13
hubbe
On 2015/06/12 22:53:36, hubbe wrote: > Refactored writers using inversion-of-control, which puts all the writer ...
5 years, 2 months ago (2015-10-08 22:40:53 UTC) #14
liberato (no reviews please)
mostly cosmetic stuff. overall looks nice. https://codereview.chromium.org/1165903002/diff/140001/media/blink/multibuffer.cc File media/blink/multibuffer.cc (right): https://codereview.chromium.org/1165903002/diff/140001/media/blink/multibuffer.cc#newcode27 media/blink/multibuffer.cc:27: block_num_(-1) { why ...
5 years, 2 months ago (2015-10-09 17:36:10 UTC) #15
hubbe
PTAL https://codereview.chromium.org/1165903002/diff/140001/media/blink/multibuffer.cc File media/blink/multibuffer.cc (right): https://codereview.chromium.org/1165903002/diff/140001/media/blink/multibuffer.cc#newcode27 media/blink/multibuffer.cc:27: block_num_(-1) { On 2015/10/09 17:36:09, liberato wrote: > ...
5 years, 2 months ago (2015-10-13 23:08:17 UTC) #16
liberato (no reviews please)
lgtm. nice! https://codereview.chromium.org/1165903002/diff/160001/media/blink/multibuffer_reader.cc File media/blink/multibuffer_reader.cc (right): https://codereview.chromium.org/1165903002/diff/160001/media/blink/multibuffer_reader.cc#newcode21 media/blink/multibuffer_reader.cc:21: preload_low_(), (0)? https://codereview.chromium.org/1165903002/diff/160001/media/blink/multibuffer_reader.cc#newcode141 media/blink/multibuffer_reader.cc:141: IncrementPreloadPos(); check return? ...
5 years, 2 months ago (2015-10-14 14:51:34 UTC) #17
hubbe
Lots of revisions to make it compile. Going to check in once it builds everywhere. ...
5 years, 2 months ago (2015-10-16 00:17:44 UTC) #18
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1165903002/400001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1165903002/400001
5 years, 2 months ago (2015-10-16 18:14:04 UTC) #21
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/110166)
5 years, 2 months ago (2015-10-16 18:23:24 UTC) #23
hubbe
Need OWNERS approval.
5 years, 2 months ago (2015-10-16 20:23:20 UTC) #25
ddorwin
On 2015/10/16 20:23:20, hubbe wrote: > Need OWNERS approval. I don't have any experience with ...
5 years, 2 months ago (2015-10-16 21:41:16 UTC) #27
DaleCurtis
Is your design doc for this up to date? If so, you should share with ...
5 years, 2 months ago (2015-10-19 21:45:26 UTC) #28
hubbe
Still working on it, but I have a few questions.... I'm working on adding deterministic ...
5 years, 2 months ago (2015-10-20 00:31:39 UTC) #29
DaleCurtis
On 2015/10/20 00:31:39, hubbe wrote: > Still working on it, but I have a few ...
5 years, 2 months ago (2015-10-20 00:44:58 UTC) #30
DaleCurtis
https://codereview.chromium.org/1165903002/diff/400001/media/blink/multibuffer.h File media/blink/multibuffer.h (right): https://codereview.chromium.org/1165903002/diff/400001/media/blink/multibuffer.h#newcode69 media/blink/multibuffer.h:69: bool operator<(const MultiBufferBlockId& other) const { On 2015/10/20 00:31:39, ...
5 years, 2 months ago (2015-10-20 00:49:44 UTC) #31
DaleCurtis
Also, please update the description with some more details and add a test=/bug= stanza
5 years, 2 months ago (2015-10-20 01:09:21 UTC) #32
hubbe
On 2015/10/20 00:49:44, DaleCurtis wrote: > https://codereview.chromium.org/1165903002/diff/400001/media/blink/multibuffer.h > File media/blink/multibuffer.h (right): > > https://codereview.chromium.org/1165903002/diff/400001/media/blink/multibuffer.h#newcode69 > ...
5 years, 2 months ago (2015-10-20 17:36:57 UTC) #33
hubbe
Refactored, cleaned up, sped up and added more tests. Still working on updating the design ...
5 years, 1 month ago (2015-10-28 22:10:13 UTC) #34
DaleCurtis
Haven't dug too deep, but here are a few things I noticed -- several of ...
5 years, 1 month ago (2015-10-28 23:06:13 UTC) #35
hubbe
Updated design doc and added it to the CL description.
5 years, 1 month ago (2015-10-29 00:17:10 UTC) #37
hubbe
PTAL https://codereview.chromium.org/1165903002/diff/440001/media/blink/lru_unittest.cc File media/blink/lru_unittest.cc (right): https://codereview.chromium.org/1165903002/diff/440001/media/blink/lru_unittest.cc#newcode77 media/blink/lru_unittest.cc:77: LRUTest() : rnd_(42) {} On 2015/10/28 23:06:13, DaleCurtis ...
5 years, 1 month ago (2015-10-29 17:52:45 UTC) #38
DaleCurtis
Just some quick replies, haven't looked again yet. https://codereview.chromium.org/1165903002/diff/440001/media/blink/lru_unittest.cc File media/blink/lru_unittest.cc (right): https://codereview.chromium.org/1165903002/diff/440001/media/blink/lru_unittest.cc#newcode77 media/blink/lru_unittest.cc:77: LRUTest() ...
5 years, 1 month ago (2015-10-29 17:59:05 UTC) #39
liberato (no reviews please)
https://codereview.chromium.org/1165903002/diff/460001/media/blink/multibuffer.cc File media/blink/multibuffer.cc (right): https://codereview.chromium.org/1165903002/diff/460001/media/blink/multibuffer.cc#newcode336 media/blink/multibuffer.cc:336: eof = data_[pos]->end_of_stream(); eof = (data_[pos] = provider->Read()); to ...
5 years, 1 month ago (2015-10-29 18:44:00 UTC) #40
hubbe
PTAL Addressed (most) comments, fixed some compile issues and cleaned up a few things. https://codereview.chromium.org/1165903002/diff/440001/media/blink/lru_unittest.cc ...
5 years, 1 month ago (2015-10-29 21:45:06 UTC) #41
DaleCurtis
Still processing the rangemap magic, partial comment dump. https://codereview.chromium.org/1165903002/diff/440001/media/blink/lru_unittest.cc File media/blink/lru_unittest.cc (right): https://codereview.chromium.org/1165903002/diff/440001/media/blink/lru_unittest.cc#newcode77 media/blink/lru_unittest.cc:77: LRUTest() ...
5 years, 1 month ago (2015-10-30 00:24:24 UTC) #42
hubbe
PTAL. Would you prefer it if I split up this CL into smaller pieces? LRU, ...
5 years, 1 month ago (2015-11-02 22:49:53 UTC) #43
DaleCurtis
Splitting this would be helpful since I'll be traveling the next few days and may ...
5 years, 1 month ago (2015-11-03 01:39:46 UTC) #44
liberato (no reviews please)
https://codereview.chromium.org/1165903002/diff/540001/media/blink/multibuffer.cc File media/blink/multibuffer.cc (right): https://codereview.chromium.org/1165903002/diff/540001/media/blink/multibuffer.cc#newcode88 media/blink/multibuffer.cc:88: // Group the blocks by multibuffer, then free them. ...
5 years, 1 month ago (2015-11-06 17:29:39 UTC) #45
hubbe
Commentes addressed. Will split out multibuffer_reader into a separate CL next. https://codereview.chromium.org/1165903002/diff/540001/media/blink/multibuffer.cc File media/blink/multibuffer.cc (right): ...
5 years, 1 month ago (2015-11-06 20:17:45 UTC) #46
hubbe
Dale, I've split out as much as I can from this CL. (Perhaps multibuffer_reader shouldn't ...
5 years, 1 month ago (2015-11-06 22:23:45 UTC) #48
DaleCurtis
lgtm % some minor changes. Nice work! I gave the doc another once over too ...
5 years, 1 month ago (2015-11-11 23:48:17 UTC) #49
hubbe
https://codereview.chromium.org/1165903002/diff/640001/media/blink/BUILD.gn File media/blink/BUILD.gn (right): https://codereview.chromium.org/1165903002/diff/640001/media/blink/BUILD.gn#newcode46 media/blink/BUILD.gn:46: "lru.h", On 2015/11/11 23:48:17, DaleCurtis wrote: > Presumably lru.h, ...
5 years, 1 month ago (2015-11-12 22:18:38 UTC) #50
DaleCurtis
https://codereview.chromium.org/1165903002/diff/640001/media/blink/multibuffer.h File media/blink/multibuffer.h (right): https://codereview.chromium.org/1165903002/diff/640001/media/blink/multibuffer.h#newcode41 media/blink/multibuffer.h:41: return base::HashPair(reinterpret_cast<int64_t>(key.first), key.second); On 2015/11/12 22:18:37, hubbe wrote: > ...
5 years, 1 month ago (2015-11-12 23:22:03 UTC) #51
DaleCurtis
https://codereview.chromium.org/1165903002/diff/640001/media/blink/multibuffer.h File media/blink/multibuffer.h (right): https://codereview.chromium.org/1165903002/diff/640001/media/blink/multibuffer.h#newcode294 media/blink/multibuffer.h:294: std::map<BlockId, DataProvider*> writer_index_; On 2015/11/12 22:18:37, hubbe wrote: > ...
5 years, 1 month ago (2015-11-12 23:22:54 UTC) #52
hubbe
https://codereview.chromium.org/1165903002/diff/640001/media/blink/multibuffer.h File media/blink/multibuffer.h (right): https://codereview.chromium.org/1165903002/diff/640001/media/blink/multibuffer.h#newcode41 media/blink/multibuffer.h:41: return base::HashPair(reinterpret_cast<int64_t>(key.first), key.second); On 2015/11/12 23:22:03, DaleCurtis wrote: > ...
5 years, 1 month ago (2015-11-12 23:34:41 UTC) #53
DaleCurtis
https://codereview.chromium.org/1165903002/diff/640001/media/blink/multibuffer.h File media/blink/multibuffer.h (right): https://codereview.chromium.org/1165903002/diff/640001/media/blink/multibuffer.h#newcode41 media/blink/multibuffer.h:41: return base::HashPair(reinterpret_cast<int64_t>(key.first), key.second); On 2015/11/12 23:34:40, hubbe wrote: > ...
5 years, 1 month ago (2015-11-12 23:43:14 UTC) #54
hubbe
https://codereview.chromium.org/1165903002/diff/640001/media/blink/multibuffer.h File media/blink/multibuffer.h (right): https://codereview.chromium.org/1165903002/diff/640001/media/blink/multibuffer.h#newcode41 media/blink/multibuffer.h:41: return base::HashPair(reinterpret_cast<int64_t>(key.first), key.second); On 2015/11/12 23:43:14, DaleCurtis wrote: > ...
5 years, 1 month ago (2015-11-13 01:24:26 UTC) #55
DaleCurtis
still lgtm,
5 years, 1 month ago (2015-11-13 01:31:41 UTC) #56
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1165903002/680001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1165903002/680001
5 years, 1 month ago (2015-11-13 18:20:16 UTC) #59
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/118400)
5 years, 1 month ago (2015-11-13 18:34:56 UTC) #61
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1165903002/700001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1165903002/700001
5 years, 1 month ago (2015-11-13 19:17:48 UTC) #64
commit-bot: I haz the power
Committed patchset #36 (id:700001)
5 years, 1 month ago (2015-11-13 20:44:48 UTC) #65
commit-bot: I haz the power
5 years, 1 month ago (2015-11-13 20:45:59 UTC) #66
Message was sent while issue was closed.
Patchset 36 (id:??) landed as
https://crrev.com/89d5cdfa35dad6711cc0177e3eaae75f5e08d83a
Cr-Commit-Position: refs/heads/master@{#359627}

Powered by Google App Engine
This is Rietveld 408576698