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

Issue 2310833002: Don't block FILE thread for media scanning (Closed)

Created:
4 years, 3 months ago by dspaid
Modified:
4 years, 3 months ago
CC:
chromium-reviews, elijahtaylor+arcwatch_chromium.org, yusukes+watch_chromium.org, hidehiko+watch_chromium.org, lhchavez+watch_chromium.org, oshima+watch_chromium.org, davemoore+watch_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Don't block FILE thread for media scanning Only perform media scanning if a scan has not been performed since the file update event. Building up the timestamp map is also moved off the FILE thread and on to the blocking pool. BUG=628223 TEST=create a large (~10k) set of files under /home/chronos/user/Downloads Enable ARC++ create a profiler snapshot at chrome://profiler create one more new file under Downloads Create another snapshot in chrome://profiler Verify that there are no long-running tasks on the FILE thread, and that DelayBuildTimestampMap is only called once. Committed: https://crrev.com/d8b3cb93177c7223bc67bce7b823083a380b19c2 Cr-Commit-Position: refs/heads/master@{#418778}

Patch Set 1 #

Total comments: 6

Patch Set 2 : Move logic back to FILE thread #

Total comments: 1

Patch Set 3 : Move only TimestampMap creation logic to blocking pool #

Total comments: 19

Patch Set 4 : Addressed comments #

Total comments: 2

Patch Set 5 : Addressed comments #

Patch Set 6 : Add a delayed callback before building the timestamp map #

Patch Set 7 : comments #

Total comments: 8

Patch Set 8 : addressed comments #

Total comments: 13

Patch Set 9 : Addressed Comments #

Patch Set 10 : Addressed Comments #

Total comments: 5

Patch Set 11 : Update comment #

Patch Set 12 : Revert change from FilePath::Append #

Patch Set 13 : Use AppendRelativePath (again) #

Unified diffs Side-by-side diffs Delta from patch set Stats (+90 lines, -27 lines) Patch
M chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc View 1 2 3 4 5 6 7 8 9 10 11 12 7 chunks +90 lines, -27 lines 0 comments Download

Messages

Total messages: 47 (21 generated)
dspaid
+nya, Here's an initial draft of one of the CLs to fix the performance issue ...
4 years, 3 months ago (2016-09-05 07:34:38 UTC) #2
Shuhei Takahashi
Thanks Dan, here are some quick comments. https://codereview.chromium.org/2310833002/diff/1/chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc File chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc (right): https://codereview.chromium.org/2310833002/diff/1/chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc#newcode159 chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc:159: weak_ptr_factory_.GetWeakPtr(), base::Time::Now())); ...
4 years, 3 months ago (2016-09-05 09:28:24 UTC) #3
dspaid
https://codereview.chromium.org/2310833002/diff/1/chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc File chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc (right): https://codereview.chromium.org/2310833002/diff/1/chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc#newcode159 chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc:159: weak_ptr_factory_.GetWeakPtr(), base::Time::Now())); On 2016/09/05 09:28:23, Shuhei Takahashi wrote: > ...
4 years, 3 months ago (2016-09-07 01:16:56 UTC) #4
hidehiko
Drive-by https://codereview.chromium.org/2310833002/diff/20001/chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc File chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc (right): https://codereview.chromium.org/2310833002/diff/20001/chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc#newcode165 chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc:165: TimestampMap current_timestamp_map = BuildTimestampMap(); For the record. As ...
4 years, 3 months ago (2016-09-07 01:44:32 UTC) #7
dspaid
On 2016/09/07 01:44:32, hidehiko wrote: > Drive-by > > https://codereview.chromium.org/2310833002/diff/20001/chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc > File chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc (right): > ...
4 years, 3 months ago (2016-09-08 00:13:24 UTC) #8
Shuhei Takahashi
https://codereview.chromium.org/2310833002/diff/40001/chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc File chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc (right): https://codereview.chromium.org/2310833002/diff/40001/chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc#newcode100 chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc:100: return std::pair<base::Time, TimestampMap>(update_time, FYI, std::make_pair is useful to avoid ...
4 years, 3 months ago (2016-09-08 03:43:48 UTC) #10
dspaid
https://codereview.chromium.org/2310833002/diff/40001/chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc File chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc (right): https://codereview.chromium.org/2310833002/diff/40001/chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc#newcode100 chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc:100: return std::pair<base::Time, TimestampMap>(update_time, On 2016/09/08 03:43:48, Shuhei Takahashi wrote: ...
4 years, 3 months ago (2016-09-08 03:59:57 UTC) #11
Shuhei Takahashi
https://codereview.chromium.org/2310833002/diff/40001/chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc File chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc (right): https://codereview.chromium.org/2310833002/diff/40001/chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc#newcode136 chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc:136: base::Time last_update_time_; On 2016/09/08 03:59:56, dspaid wrote: > On ...
4 years, 3 months ago (2016-09-08 04:25:49 UTC) #12
dspaid
https://codereview.chromium.org/2310833002/diff/40001/chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc File chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc (right): https://codereview.chromium.org/2310833002/diff/40001/chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc#newcode136 chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc:136: base::Time last_update_time_; On 2016/09/08 04:25:48, Shuhei Takahashi wrote: > ...
4 years, 3 months ago (2016-09-09 02:10:46 UTC) #13
Shuhei Takahashi
https://codereview.chromium.org/2310833002/diff/40001/chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc File chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc (right): https://codereview.chromium.org/2310833002/diff/40001/chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc#newcode136 chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc:136: base::Time last_update_time_; On 2016/09/09 02:10:45, dspaid wrote: > On ...
4 years, 3 months ago (2016-09-09 03:18:51 UTC) #14
dspaid
On 2016/09/09 03:18:51, Shuhei Takahashi wrote: > https://codereview.chromium.org/2310833002/diff/40001/chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc > File chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc (right): > > https://codereview.chromium.org/2310833002/diff/40001/chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc#newcode136 ...
4 years, 3 months ago (2016-09-09 06:09:20 UTC) #15
Shuhei Takahashi
lgtm with nits. Thanks! https://codereview.chromium.org/2310833002/diff/120001/chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc File chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc (right): https://codereview.chromium.org/2310833002/diff/120001/chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc#newcode37 chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc:37: base::TimeDelta::FromMilliseconds(5); Hmm, 5ms sounds too ...
4 years, 3 months ago (2016-09-09 06:32:41 UTC) #16
dspaid
https://codereview.chromium.org/2310833002/diff/120001/chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc File chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc (right): https://codereview.chromium.org/2310833002/diff/120001/chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc#newcode37 chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc:37: base::TimeDelta::FromMilliseconds(5); On 2016/09/09 06:32:40, Shuhei Takahashi wrote: > Hmm, ...
4 years, 3 months ago (2016-09-09 07:20:13 UTC) #17
Shuhei Takahashi
Oops, I missed several points... https://codereview.chromium.org/2310833002/diff/140001/chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc File chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc (right): https://codereview.chromium.org/2310833002/diff/140001/chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc#newcode217 chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc:217: DCHECK_CURRENTLY_ON(BrowserThread::FILE); This should be ...
4 years, 3 months ago (2016-09-12 04:29:13 UTC) #18
hidehiko
LGTM with minor comments. https://codereview.chromium.org/2310833002/diff/140001/chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc File chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc (right): https://codereview.chromium.org/2310833002/diff/140001/chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc#newcode39 chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc:39: base::TimeDelta::FromMilliseconds(1000); Optional: 1s sounds a ...
4 years, 3 months ago (2016-09-12 05:44:10 UTC) #19
Shuhei Takahashi
https://codereview.chromium.org/2310833002/diff/140001/chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc File chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc (right): https://codereview.chromium.org/2310833002/diff/140001/chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc#newcode217 chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc:217: DCHECK_CURRENTLY_ON(BrowserThread::FILE); On 2016/09/12 05:44:10, hidehiko wrote: > On 2016/09/12 ...
4 years, 3 months ago (2016-09-12 05:46:00 UTC) #20
dspaid
https://codereview.chromium.org/2310833002/diff/140001/chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc File chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc (right): https://codereview.chromium.org/2310833002/diff/140001/chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc#newcode39 chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc:39: base::TimeDelta::FromMilliseconds(1000); On 2016/09/12 05:44:10, hidehiko wrote: > Optional: 1s ...
4 years, 3 months ago (2016-09-12 05:56:52 UTC) #21
hidehiko
Sorry for taking long time for the review. Could you run trybot when you upload ...
4 years, 3 months ago (2016-09-13 07:33:57 UTC) #22
hidehiko
Sorry for taking long time for the review. Could you run trybot when you upload ...
4 years, 3 months ago (2016-09-13 07:33:57 UTC) #23
dspaid
https://codereview.chromium.org/2310833002/diff/180001/chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc File chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc (right): https://codereview.chromium.org/2310833002/diff/180001/chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc#newcode94 chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc:94: cros_path.value().substr(downloads_dir.value().length() + 1)); On 2016/09/13 07:33:56, hidehiko wrote: > ...
4 years, 3 months ago (2016-09-15 01:58:12 UTC) #33
hidehiko
https://codereview.chromium.org/2310833002/diff/180001/chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc File chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc (right): https://codereview.chromium.org/2310833002/diff/180001/chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc#newcode94 chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc:94: cros_path.value().substr(downloads_dir.value().length() + 1)); On 2016/09/15 01:58:12, dspaid wrote: > ...
4 years, 3 months ago (2016-09-15 02:26:18 UTC) #34
dspaid
On 2016/09/15 02:26:18, hidehiko wrote: > https://codereview.chromium.org/2310833002/diff/180001/chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc > File chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc (right): > > https://codereview.chromium.org/2310833002/diff/180001/chrome/browser/chromeos/arc/arc_downloads_watcher_service.cc#newcode94 > ...
4 years, 3 months ago (2016-09-15 03:13:56 UTC) #35
hidehiko
lgtm
4 years, 3 months ago (2016-09-15 03:36:14 UTC) #36
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2310833002/240001
4 years, 3 months ago (2016-09-15 04:16:45 UTC) #43
commit-bot: I haz the power
Committed patchset #13 (id:240001)
4 years, 3 months ago (2016-09-15 04:24:32 UTC) #45
commit-bot: I haz the power
4 years, 3 months ago (2016-09-15 04:28:06 UTC) #47
Message was sent while issue was closed.
Patchset 13 (id:??) landed as
https://crrev.com/d8b3cb93177c7223bc67bce7b823083a380b19c2
Cr-Commit-Position: refs/heads/master@{#418778}

Powered by Google App Engine
This is Rietveld 408576698