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

Issue 2291373002: Fix SGI_video_sync cpu usage and rendering issues with Nvidia driver. (Closed)

Created:
4 years, 3 months ago by sunnyps
Modified:
4 years, 3 months ago
CC:
chromium-reviews, darin-cc_chromium.org, jam, jln+watch_chromium.org, rickyz+watch_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Fix SGI_video_sync cpu usage and rendering issues with Nvidia driver. Using the GLX_SGI_video_sync extension has caused high cpu usage and rendering problems. The cpu usage was worked around by throttling the use of the extension to once every 5 seconds. The rendering problems started happening with Nvidia driver 361.42 and was being worked around by not using the extension. This CL fixes both problems by doing the following: 1. Using a separate unmapped child window (and GLX drawable) for use with SGI_video_sync. 2. Create a dummy unmapped window on both the main X Display and the video sync Display before the sandbox is set up. 3. Whitelist the Nvidia device files that are opened after the sandbox is set up. This CL also makes all vsync providers use a single GLXContext because there's only one thread that's used for all of them. R=piman@chromium.org,rickyz@chromium.org BUG=636644, 483721 TEST=manual testing with i3 wm (no compositing) Committed: https://crrev.com/ffc0e467329470df9c2da085d133d59cc8ae2414 Cr-Commit-Position: refs/heads/master@{#417747}

Patch Set 1 #

Patch Set 2 : rebase #

Total comments: 4

Patch Set 3 : multi gpu #

Patch Set 4 : piman's review #

Patch Set 5 : piman's review #

Patch Set 6 : rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+142 lines, -93 lines) Patch
M content/common/sandbox_linux/bpf_gpu_policy_linux.cc View 1 2 6 chunks +36 lines, -18 lines 0 comments Download
M ui/gl/gl_surface_glx.cc View 1 2 3 17 chunks +106 lines, -75 lines 0 comments Download

Messages

Total messages: 24 (16 generated)
sunnyps
PTAL
4 years, 3 months ago (2016-08-30 22:05:26 UTC) #2
sunnyps
Let me know if you want to split this CL. Also note that /dev/nvidiactl is ...
4 years, 3 months ago (2016-08-30 22:07:07 UTC) #4
piman
lgtm https://codereview.chromium.org/2291373002/diff/20001/ui/gl/gl_surface_glx.cc File ui/gl/gl_surface_glx.cc (right): https://codereview.chromium.org/2291373002/diff/20001/ui/gl/gl_surface_glx.cc#newcode208 ui/gl/gl_surface_glx.cc:208: // This ensures that creation of |parnet_window_| has ...
4 years, 3 months ago (2016-08-31 00:28:03 UTC) #12
sunnyps
Addressed comments. I made the code more robust for multi-GPU setups where /dev/nvidiaN could be ...
4 years, 3 months ago (2016-09-01 18:45:15 UTC) #15
rickyz (no longer on Chrome)
lgtm
4 years, 3 months ago (2016-09-08 05:01:38 UTC) #18
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/2291373002/100001
4 years, 3 months ago (2016-09-09 21:49:43 UTC) #21
commit-bot: I haz the power
Committed patchset #6 (id:100001)
4 years, 3 months ago (2016-09-09 22:53:18 UTC) #22
commit-bot: I haz the power
4 years, 3 months ago (2016-09-09 22:55:50 UTC) #24
Message was sent while issue was closed.
Patchset 6 (id:??) landed as
https://crrev.com/ffc0e467329470df9c2da085d133d59cc8ae2414
Cr-Commit-Position: refs/heads/master@{#417747}

Powered by Google App Engine
This is Rietveld 408576698