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

Issue 1980263002: GPU Watchdog to check I/O before terminating GPU process (Closed)

Created:
4 years, 7 months ago by stanisc
Modified:
4 years, 6 months ago
CC:
chromium-reviews, darin-cc_chromium.org, jam, piman+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

GPU Watchdog to check I/O before terminating The idea is to try to do an unbuffered write in GPU watchdog just before crashing the process. If the process is slow due to heavy I/O this should give it more time to unblock. This should theoretically help with some of GPU hangs. BUG=612607 Committed: https://crrev.com/4015b488f743a7399e3362fd49917f494ff7caaf Cr-Commit-Position: refs/heads/master@{#399222}

Patch Set 1 #

Patch Set 2 : Avoid creating the temp file in advance #

Total comments: 3

Patch Set 3 : Addressed feedback #

Total comments: 4

Patch Set 4 : #

Total comments: 11

Patch Set 5 : Addressed CR feedback #

Unified diffs Side-by-side diffs Delta from patch set Stats (+127 lines, -10 lines) Patch
M content/browser/gpu/gpu_process_host.cc View 1 2 3 3 chunks +13 lines, -0 lines 0 comments Download
A content/common/gpu_watchdog_utils.h View 1 2 3 1 chunk +22 lines, -0 lines 0 comments Download
A content/common/gpu_watchdog_utils.cc View 1 2 3 4 1 chunk +22 lines, -0 lines 0 comments Download
M content/content_common.gypi View 1 2 3 1 chunk +2 lines, -0 lines 0 comments Download
M content/gpu/gpu_watchdog_thread.h View 1 2 3 3 chunks +10 lines, -0 lines 0 comments Download
M content/gpu/gpu_watchdog_thread.cc View 1 2 3 4 6 chunks +58 lines, -10 lines 0 comments Download

Messages

Total messages: 33 (10 generated)
stanisc
jbauman@ - please review changes in GPU watchdog wfh@ - I had to add a ...
4 years, 7 months ago (2016-05-17 22:23:53 UTC) #3
jbauman
https://codereview.chromium.org/1980263002/diff/20001/content/gpu/gpu_watchdog_thread.cc File content/gpu/gpu_watchdog_thread.cc (right): https://codereview.chromium.org/1980263002/diff/20001/content/gpu/gpu_watchdog_thread.cc#newcode277 content/gpu/gpu_watchdog_thread.cc:277: if (use_temp_file_for_io_checking_) { Instead of using a flag here, ...
4 years, 7 months ago (2016-05-17 22:57:20 UTC) #4
stanisc
https://codereview.chromium.org/1980263002/diff/20001/content/gpu/gpu_watchdog_thread.cc File content/gpu/gpu_watchdog_thread.cc (right): https://codereview.chromium.org/1980263002/diff/20001/content/gpu/gpu_watchdog_thread.cc#newcode277 content/gpu/gpu_watchdog_thread.cc:277: if (use_temp_file_for_io_checking_) { On 2016/05/17 22:57:20, jbauman wrote: > ...
4 years, 7 months ago (2016-05-18 00:01:30 UTC) #5
Will Harris
I don't quite understand how doing an unbuffered write will help unblock the process. Can ...
4 years, 7 months ago (2016-05-18 08:52:55 UTC) #6
stanisc
Here is the rationale for doing the I/O. There is some evidence that many of ...
4 years, 7 months ago (2016-05-18 17:25:31 UTC) #7
Will Harris
I really don't like this solution. Id be happy to give a temporary l-g-t-m if ...
4 years, 7 months ago (2016-05-19 10:25:01 UTC) #8
stanisc
OK, let's pause this for now. There is another change that will increase watchdog timeout ...
4 years, 7 months ago (2016-05-19 18:47:26 UTC) #9
stanisc
+nick@chromium.org for content/common code +manzagop@ and pmonette@ who are also investigating Chrome hangs. I've addressed ...
4 years, 6 months ago (2016-06-09 00:33:46 UTC) #13
stanisc
Submitted this too soon by mistake. Also +brucedawson@ I've limited this change to OS_WIN only ...
4 years, 6 months ago (2016-06-09 00:45:12 UTC) #15
Will Harris
On 2016/06/09 00:45:12, stanisc wrote: > Submitted this too soon by mistake. > > Also ...
4 years, 6 months ago (2016-06-09 00:50:14 UTC) #16
brucedawson
If a task is blocked behind I/O then it is probably blocked by multiple I/Os, ...
4 years, 6 months ago (2016-06-09 01:01:13 UTC) #17
ncarter (slow)
lgtm https://codereview.chromium.org/1980263002/diff/100001/content/common/gpu_watchdog_utils.cc File content/common/gpu_watchdog_utils.cc (right): https://codereview.chromium.org/1980263002/diff/100001/content/common/gpu_watchdog_utils.cc#newcode12 content/common/gpu_watchdog_utils.cc:12: CONTENT_EXPORT bool GetGpuWatchdogTempFile(base::FilePath* file_path) { Can this CONTENT_EXPORT ...
4 years, 6 months ago (2016-06-09 16:14:43 UTC) #18
brucedawson
https://codereview.chromium.org/1980263002/diff/100001/content/gpu/gpu_watchdog_thread.cc File content/gpu/gpu_watchdog_thread.cc (right): https://codereview.chromium.org/1980263002/diff/100001/content/gpu/gpu_watchdog_thread.cc#newcode281 content/gpu/gpu_watchdog_thread.cc:281: io_check_duration_ = timer.Elapsed(); On 2016/06/09 16:14:43, ncarter wrote: > ...
4 years, 6 months ago (2016-06-09 17:29:05 UTC) #19
manzagop (departed)
https://codereview.chromium.org/1980263002/diff/100001/content/gpu/gpu_watchdog_thread.cc File content/gpu/gpu_watchdog_thread.cc (right): https://codereview.chromium.org/1980263002/diff/100001/content/gpu/gpu_watchdog_thread.cc#newcode281 content/gpu/gpu_watchdog_thread.cc:281: io_check_duration_ = timer.Elapsed(); > (because 'this' is in a ...
4 years, 6 months ago (2016-06-09 19:41:54 UTC) #20
ncarter (slow)
https://codereview.chromium.org/1980263002/diff/100001/content/gpu/gpu_watchdog_thread.cc File content/gpu/gpu_watchdog_thread.cc (right): https://codereview.chromium.org/1980263002/diff/100001/content/gpu/gpu_watchdog_thread.cc#newcode281 content/gpu/gpu_watchdog_thread.cc:281: io_check_duration_ = timer.Elapsed(); On 2016/06/09 19:41:54, manzagop wrote: > ...
4 years, 6 months ago (2016-06-09 20:11:20 UTC) #21
brucedawson
> > Drive-by question! Is memory pulled in around registers? I thought it was only ...
4 years, 6 months ago (2016-06-09 20:24:50 UTC) #22
stanisc
I am fine with reverting once we get more data. Let's see what kind of ...
4 years, 6 months ago (2016-06-09 20:52:28 UTC) #23
stanisc
I'll commit this tomorrow morning if there is no further feedback.
4 years, 6 months ago (2016-06-10 01:24:16 UTC) #24
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1980263002/120001
4 years, 6 months ago (2016-06-10 17:25:51 UTC) #27
commit-bot: I haz the power
Committed patchset #5 (id:120001)
4 years, 6 months ago (2016-06-10 17:47:16 UTC) #29
commit-bot: I haz the power
CQ bit was unchecked
4 years, 6 months ago (2016-06-10 17:47:30 UTC) #30
commit-bot: I haz the power
Patchset 5 (id:??) landed as https://crrev.com/4015b488f743a7399e3362fd49917f494ff7caaf Cr-Commit-Position: refs/heads/master@{#399222}
4 years, 6 months ago (2016-06-10 17:48:49 UTC) #32
Ken Russell (switch to Gerrit)
4 years, 6 months ago (2016-06-15 18:34:01 UTC) #33
Message was sent while issue was closed.
A revert of this CL (patchset #5 id:120001) has been created in
https://codereview.chromium.org/2071613002/ by kbr@chromium.org.

The reason for reverting is: This CL seems to have caused intermittent assertion
failures in the context_lost_tests on the commit queue and reliable assertion
failures on some of the GPU bots. See http://crbug.com/619196 .
.

Powered by Google App Engine
This is Rietveld 408576698