DescriptionPing watchdog thread during GpuChannel destruction
Currently GpuChannel destruction runs as a single large task in the GPU
process. This can cause watchdog timeouts on very busy systems, as we
can end up doing a huge number of GL commands in a single task.
This change adds logic to ping the watchdog thread at regular intervals
(assuming that destruction is moving forward, and hasn't actually hung).
This should prevent the timeout hangs we're seeing.
In addition to reporting progress in ContextGroup, we also report during
shader, program, and texture deletion, as these are the three cases
where we've actually seen timeouts.
BUG=612219
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Committed: https://crrev.com/8767b2b934ea9f992399430f0ac78da93c1c9f4b
Cr-Commit-Position: refs/heads/master@{#423751}
Patch Set 1 #
Total comments: 3
Patch Set 2 : remove throttling #
Total comments: 18
Patch Set 3 : feedback #
Total comments: 1
Patch Set 4 : smallf ix #Patch Set 5 : revert to passing via destructor #
Total comments: 4
Patch Set 6 : Go back to passing via constructor #Patch Set 7 : add GPU_EXPORT to ProgressReporter #Patch Set 8 : Fix lifetime and use nullptr #
Total comments: 2
Messages
Total messages: 96 (70 generated)
|