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

Issue 2903353002: Make ozone/drm/mojo more immune to startup races (Closed)

Created:
3 years, 7 months ago by rjkroege
Modified:
3 years, 6 months ago
Reviewers:
dnicoara, sadrul, kylechar
CC:
chromium-reviews, kalyank, piman+watch_chromium.org, ozone-reviews_chromium.org
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Make ozone/drm/mojo more immune to startup races The mojo implementation of ozone/drm would crash if selected host entry points were invoked before the DRM thread successfully started. This change modifies the host code to tolerate the DRM thread not yet being available. Tested by deferring the GPU service startup by 2 seconds. Note that mushrome and mash configurations have different timing requirements that impact ozone/drm startup order. BUG=725659 Review-Url: https://codereview.chromium.org/2903353002 Cr-Commit-Position: refs/heads/master@{#477118} Committed: https://chromium.googlesource.com/chromium/src/+/f14aff33e90b3b078dd060567c20a3f9ed692983

Patch Set 1 #

Total comments: 5

Patch Set 2 : added todo #

Total comments: 3

Patch Set 3 : make CursorProxyMojo a GpuThreadObserver #

Total comments: 7

Patch Set 4 : review comments #

Patch Set 5 : cursor setup independent of evdev / drm startup and timing of PlatformWindow creation. #

Total comments: 5

Patch Set 6 : fixed nits #

Patch Set 7 : simpler patch #

Unified diffs Side-by-side diffs Delta from patch set Stats (+130 lines, -72 lines) Patch
M ui/ozone/platform/drm/cursor_proxy_mojo.h View 1 2 3 4 5 6 2 chunks +3 lines, -2 lines 0 comments Download
M ui/ozone/platform/drm/cursor_proxy_mojo.cc View 1 2 3 4 5 6 1 chunk +21 lines, -11 lines 0 comments Download
M ui/ozone/platform/drm/host/drm_cursor.h View 1 2 3 4 5 6 2 chunks +5 lines, -4 lines 0 comments Download
M ui/ozone/platform/drm/host/drm_cursor.cc View 1 2 3 4 5 6 3 chunks +4 lines, -4 lines 0 comments Download
M ui/ozone/platform/drm/host/drm_gpu_platform_support_host.cc View 1 2 3 4 5 6 3 chunks +4 lines, -3 lines 0 comments Download
M ui/ozone/platform/drm/mus_thread_proxy.h View 1 2 3 4 5 6 5 chunks +9 lines, -19 lines 0 comments Download
M ui/ozone/platform/drm/mus_thread_proxy.cc View 1 2 3 4 5 6 20 chunks +80 lines, -21 lines 0 comments Download
M ui/ozone/platform/drm/ozone_platform_gbm.cc View 1 2 3 4 5 2 chunks +4 lines, -8 lines 0 comments Download

Messages

Total messages: 42 (10 generated)
rjkroege
ptal
3 years, 7 months ago (2017-05-25 22:21:20 UTC) #2
sadrul
https://codereview.chromium.org/2903353002/diff/1/ui/ozone/platform/drm/ozone_platform_gbm.cc File ui/ozone/platform/drm/ozone_platform_gbm.cc (right): https://codereview.chromium.org/2903353002/diff/1/ui/ozone/platform/drm/ozone_platform_gbm.cc#newcode180 ui/ozone/platform/drm/ozone_platform_gbm.cc:180: cursor_->SetDrmCursorProxy(new CursorProxyMojo(args.connector)); Since we already know that this |mus_thread_proxy_| ...
3 years, 7 months ago (2017-05-25 22:37:01 UTC) #3
rjkroege
https://codereview.chromium.org/2903353002/diff/1/ui/ozone/platform/drm/ozone_platform_gbm.cc File ui/ozone/platform/drm/ozone_platform_gbm.cc (right): https://codereview.chromium.org/2903353002/diff/1/ui/ozone/platform/drm/ozone_platform_gbm.cc#newcode180 ui/ozone/platform/drm/ozone_platform_gbm.cc:180: cursor_->SetDrmCursorProxy(new CursorProxyMojo(args.connector)); On 2017/05/25 22:37:00, sadrul wrote: > Since ...
3 years, 7 months ago (2017-05-25 22:52:49 UTC) #4
sadrul
https://codereview.chromium.org/2903353002/diff/1/ui/ozone/platform/drm/ozone_platform_gbm.cc File ui/ozone/platform/drm/ozone_platform_gbm.cc (right): https://codereview.chromium.org/2903353002/diff/1/ui/ozone/platform/drm/ozone_platform_gbm.cc#newcode180 ui/ozone/platform/drm/ozone_platform_gbm.cc:180: cursor_->SetDrmCursorProxy(new CursorProxyMojo(args.connector)); On 2017/05/25 22:52:49, rjkroege wrote: > On ...
3 years, 7 months ago (2017-05-26 01:46:56 UTC) #5
dnicoara
Drive-by questions ... https://codereview.chromium.org/2903353002/diff/1/ui/ozone/platform/drm/gpu/drm_thread.cc File ui/ozone/platform/drm/gpu/drm_thread.cc (right): https://codereview.chromium.org/2903353002/diff/1/ui/ozone/platform/drm/gpu/drm_thread.cc#newcode210 ui/ozone/platform/drm/gpu/drm_thread.cc:210: auto window = screen_manager_->GetWindow(widget); Why is ...
3 years, 7 months ago (2017-05-26 15:51:04 UTC) #7
rjkroege
On 2017/05/26 15:51:04, dnicoara wrote: > Drive-by questions ... > > https://codereview.chromium.org/2903353002/diff/1/ui/ozone/platform/drm/gpu/drm_thread.cc > File ui/ozone/platform/drm/gpu/drm_thread.cc ...
3 years, 6 months ago (2017-05-29 15:28:12 UTC) #8
rjkroege
On 2017/05/25 22:37:01, sadrul wrote: > https://codereview.chromium.org/2903353002/diff/1/ui/ozone/platform/drm/ozone_platform_gbm.cc > File ui/ozone/platform/drm/ozone_platform_gbm.cc (right): > > https://codereview.chromium.org/2903353002/diff/1/ui/ozone/platform/drm/ozone_platform_gbm.cc#newcode180 > ...
3 years, 6 months ago (2017-05-29 15:32:14 UTC) #9
sadrul
On 2017/05/29 15:32:14, rjkroege wrote: > On 2017/05/25 22:37:01, sadrul wrote: > > > https://codereview.chromium.org/2903353002/diff/1/ui/ozone/platform/drm/ozone_platform_gbm.cc ...
3 years, 6 months ago (2017-05-29 16:50:15 UTC) #10
dnicoara
https://codereview.chromium.org/2903353002/diff/20001/ui/ozone/platform/drm/gpu/drm_thread.cc File ui/ozone/platform/drm/gpu/drm_thread.cc (right): https://codereview.chromium.org/2903353002/diff/20001/ui/ozone/platform/drm/gpu/drm_thread.cc#newcode211 ui/ozone/platform/drm/gpu/drm_thread.cc:211: // TODO(rjkroege): This check is needed only to address ...
3 years, 6 months ago (2017-05-29 17:01:54 UTC) #11
dnicoara
On 2017/05/29 15:28:12, rjkroege wrote: > On 2017/05/26 15:51:04, dnicoara wrote: > > Drive-by questions ...
3 years, 6 months ago (2017-05-29 17:19:03 UTC) #12
kylechar
Other than the cursor stuff (which I don't understand) you're adding the same logic that ...
3 years, 6 months ago (2017-05-29 22:31:52 UTC) #14
dnicoara
On 2017/05/29 22:31:52, kylechar wrote: > Other than the cursor stuff (which I don't understand) ...
3 years, 6 months ago (2017-05-30 14:39:12 UTC) #15
rjkroege
On 2017/05/29 17:01:54, dnicoara wrote: > https://codereview.chromium.org/2903353002/diff/20001/ui/ozone/platform/drm/gpu/drm_thread.cc > File ui/ozone/platform/drm/gpu/drm_thread.cc (right): > > https://codereview.chromium.org/2903353002/diff/20001/ui/ozone/platform/drm/gpu/drm_thread.cc#newcode211 > ...
3 years, 6 months ago (2017-05-30 15:18:18 UTC) #16
rjkroege
On 2017/05/29 17:19:03, dnicoara wrote: > On 2017/05/29 15:28:12, rjkroege wrote: > > On 2017/05/26 ...
3 years, 6 months ago (2017-05-30 15:29:39 UTC) #17
rjkroege
On 2017/05/30 14:39:12, dnicoara wrote: > On 2017/05/29 22:31:52, kylechar wrote: > > Other than ...
3 years, 6 months ago (2017-05-30 15:30:47 UTC) #18
dnicoara
On 2017/05/30 15:29:39, rjkroege wrote: > On 2017/05/29 17:19:03, dnicoara wrote: > > On 2017/05/29 ...
3 years, 6 months ago (2017-05-30 16:19:57 UTC) #19
rjkroege
PTAL. No changes to DrmThread, instead replicate the suppression of DrmThread actions from the host ...
3 years, 6 months ago (2017-05-30 19:38:11 UTC) #20
kylechar
https://codereview.chromium.org/2903353002/diff/40001/ui/ozone/platform/drm/ozone_platform_gbm.cc File ui/ozone/platform/drm/ozone_platform_gbm.cc (right): https://codereview.chromium.org/2903353002/diff/40001/ui/ozone/platform/drm/ozone_platform_gbm.cc#newcode181 ui/ozone/platform/drm/ozone_platform_gbm.cc:181: mus_thread_proxy_->AddGpuThreadObserver(cursor_proxy); I think this will result in a use ...
3 years, 6 months ago (2017-05-30 19:46:22 UTC) #21
dnicoara
https://codereview.chromium.org/2903353002/diff/40001/ui/ozone/platform/drm/ozone_platform_gbm.cc File ui/ozone/platform/drm/ozone_platform_gbm.cc (right): https://codereview.chromium.org/2903353002/diff/40001/ui/ozone/platform/drm/ozone_platform_gbm.cc#newcode181 ui/ozone/platform/drm/ozone_platform_gbm.cc:181: mus_thread_proxy_->AddGpuThreadObserver(cursor_proxy); On the old path the cursor is special ...
3 years, 6 months ago (2017-05-30 20:35:18 UTC) #22
rjkroege
ptal https://codereview.chromium.org/2903353002/diff/40001/ui/ozone/platform/drm/ozone_platform_gbm.cc File ui/ozone/platform/drm/ozone_platform_gbm.cc (right): https://codereview.chromium.org/2903353002/diff/40001/ui/ozone/platform/drm/ozone_platform_gbm.cc#newcode181 ui/ozone/platform/drm/ozone_platform_gbm.cc:181: mus_thread_proxy_->AddGpuThreadObserver(cursor_proxy); On 2017/05/30 20:35:17, dnicoara wrote: > On ...
3 years, 6 months ago (2017-05-31 00:39:14 UTC) #23
kylechar
lgtm
3 years, 6 months ago (2017-05-31 01:16:55 UTC) #24
dnicoara
https://codereview.chromium.org/2903353002/diff/40001/ui/ozone/platform/drm/ozone_platform_gbm.cc File ui/ozone/platform/drm/ozone_platform_gbm.cc (right): https://codereview.chromium.org/2903353002/diff/40001/ui/ozone/platform/drm/ozone_platform_gbm.cc#newcode181 ui/ozone/platform/drm/ozone_platform_gbm.cc:181: mus_thread_proxy_->AddGpuThreadObserver(cursor_proxy); On 2017/05/31 00:39:14, rjkroege wrote: > On 2017/05/30 ...
3 years, 6 months ago (2017-05-31 15:01:14 UTC) #25
dnicoara
On 2017/05/31 15:01:14, dnicoara wrote: > https://codereview.chromium.org/2903353002/diff/40001/ui/ozone/platform/drm/ozone_platform_gbm.cc > File ui/ozone/platform/drm/ozone_platform_gbm.cc (right): > > https://codereview.chromium.org/2903353002/diff/40001/ui/ozone/platform/drm/ozone_platform_gbm.cc#newcode181 > ...
3 years, 6 months ago (2017-05-31 15:04:59 UTC) #26
rjkroege
On 2017/05/31 15:01:14, dnicoara wrote: > https://codereview.chromium.org/2903353002/diff/40001/ui/ozone/platform/drm/ozone_platform_gbm.cc > File ui/ozone/platform/drm/ozone_platform_gbm.cc (right): > > https://codereview.chromium.org/2903353002/diff/40001/ui/ozone/platform/drm/ozone_platform_gbm.cc#newcode181 > ...
3 years, 6 months ago (2017-06-02 23:40:47 UTC) #27
dnicoara
lgtm with a question: https://codereview.chromium.org/2903353002/diff/80001/ui/ozone/platform/drm/cursor_proxy_mojo.h File ui/ozone/platform/drm/cursor_proxy_mojo.h (right): https://codereview.chromium.org/2903353002/diff/80001/ui/ozone/platform/drm/cursor_proxy_mojo.h#newcode37 ui/ozone/platform/drm/cursor_proxy_mojo.h:37: void SendToDelegate(DrmCursorProxy* delegate); override https://codereview.chromium.org/2903353002/diff/80001/ui/ozone/platform/drm/mus_thread_proxy.cc ...
3 years, 6 months ago (2017-06-05 15:04:44 UTC) #28
rjkroege
https://codereview.chromium.org/2903353002/diff/80001/ui/ozone/platform/drm/cursor_proxy_mojo.h File ui/ozone/platform/drm/cursor_proxy_mojo.h (right): https://codereview.chromium.org/2903353002/diff/80001/ui/ozone/platform/drm/cursor_proxy_mojo.h#newcode37 ui/ozone/platform/drm/cursor_proxy_mojo.h:37: void SendToDelegate(DrmCursorProxy* delegate); On 2017/06/05 15:04:43, dnicoara wrote: > ...
3 years, 6 months ago (2017-06-05 20:58:27 UTC) #29
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/2903353002/100001
3 years, 6 months ago (2017-06-05 20:59:20 UTC) #32
dnicoara
https://codereview.chromium.org/2903353002/diff/80001/ui/ozone/platform/drm/mus_thread_proxy.cc File ui/ozone/platform/drm/mus_thread_proxy.cc (right): https://codereview.chromium.org/2903353002/diff/80001/ui/ozone/platform/drm/mus_thread_proxy.cc#newcode62 ui/ozone/platform/drm/mus_thread_proxy.cc:62: // cursor requests until the DRM thread launches. Unfortunately, ...
3 years, 6 months ago (2017-06-05 21:10:54 UTC) #33
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_chromeos_ozone_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_ozone_rel_ng/builds/400239)
3 years, 6 months ago (2017-06-05 21:36:21 UTC) #35
rjkroege
On 2017/06/05 21:10:54, dnicoara wrote: > https://codereview.chromium.org/2903353002/diff/80001/ui/ozone/platform/drm/mus_thread_proxy.cc > File ui/ozone/platform/drm/mus_thread_proxy.cc (right): > > https://codereview.chromium.org/2903353002/diff/80001/ui/ozone/platform/drm/mus_thread_proxy.cc#newcode62 > ...
3 years, 6 months ago (2017-06-05 22:20:45 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/2903353002/120001
3 years, 6 months ago (2017-06-05 23:01:38 UTC) #39
commit-bot: I haz the power
3 years, 6 months ago (2017-06-05 23:34:15 UTC) #42
Message was sent while issue was closed.
Committed patchset #7 (id:120001) as
https://chromium.googlesource.com/chromium/src/+/f14aff33e90b3b078dd060567c20...

Powered by Google App Engine
This is Rietveld 408576698