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

Issue 796543007: Avoid holding locks across sync IPCs in command buffer (Closed)

Created:
6 years ago by Peng
Modified:
5 years, 11 months ago
CC:
chromium-reviews, 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

Avoid holding locks across sync IPCs in command buffer Pepper drops its global lock and reacquires it during synchronous IPCs, so these can turn into deadlocks. BUG=418651 Committed: https://crrev.com/51e555de7077edc9e5f060860807bd71bbc14cd4 Cr-Commit-Position: refs/heads/master@{#309466}

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+82 lines, -56 lines) Patch
M gpu/command_buffer/client/program_info_manager.cc View 6 chunks +82 lines, -56 lines 0 comments Download

Messages

Total messages: 12 (3 generated)
Peng
On 2014/12/22 19:23:27, Peng wrote: > mailto:penghuang@chromium.org changed reviewers: > + mailto:piman@chromium.org Hi Antoine, I ...
6 years ago (2014-12-22 19:26:10 UTC) #2
piman
LGTM, but it sounds like you're just masking the issue. It should really be fixed ...
6 years ago (2014-12-22 19:34:07 UTC) #3
Peng
On 2014/12/22 19:34:07, piman (Very slow to review) wrote: > LGTM, but it sounds like ...
6 years ago (2014-12-22 20:50:51 UTC) #4
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/796543007/1
6 years ago (2014-12-22 20:52:30 UTC) #6
piman
On Mon, Dec 22, 2014 at 12:50 PM, <penghuang@chromium.org> wrote: > On 2014/12/22 19:34:07, piman ...
6 years ago (2014-12-22 20:55:05 UTC) #7
Peng
On 2014/12/22 20:55:05, piman (Very slow to review) wrote: > On Mon, Dec 22, 2014 ...
6 years ago (2014-12-22 21:07:35 UTC) #9
commit-bot: I haz the power
Committed patchset #1 (id:1)
6 years ago (2014-12-22 21:47:27 UTC) #10
commit-bot: I haz the power
Patchset 1 (id:??) landed as https://crrev.com/51e555de7077edc9e5f060860807bd71bbc14cd4 Cr-Commit-Position: refs/heads/master@{#309466}
6 years ago (2014-12-22 21:48:11 UTC) #11
dmichael (off chromium)
5 years, 11 months ago (2015-01-08 00:11:18 UTC) #12
Message was sent while issue was closed.
On 2014/12/22 21:07:35, Peng wrote:
> On 2014/12/22 20:55:05, piman (Very slow to review) wrote:
> > On Mon, Dec 22, 2014 at 12:50 PM, <mailto:penghuang@chromium.org> wrote:
> > 
> > > On 2014/12/22 19:34:07, piman (Very slow to review) wrote:
> > >
> > >> LGTM, but it sounds like you're just masking the issue. It should really
> > >> be
> > >> fixed at the source, in pepper.
> > >>
> > >
> > > We tried fix it by not releasing the global proxy lock during the sync IPC
> > > for
> > > Pepper GL, but it causes other kind of dead locks.
> > 
> > 
> > These deadlocks need to be fixed.
> > 
> > 
> > > If the Pepper GL do not
> > > release global proxy, the Pepper Socket API may acquire the proxy lock in
> > > the
> > > plugin IO thread.
> > 
> > 
> > This is really wrong. The IO thread should never acquire long-lived locks.
> 
> I don't know the detail. I think +dmicheal should know more.

I agree completely with piman; it's wrong that we're locking on the proxy lock
on the IO thread. See the bug I have filed:
https://code.google.com/p/chromium/issues/detail?id=439588
It's easy to fix, but the easy fix will regress performance on Pepper UDP
sockets. This is one of the first things I plan to tackle now that I'm back from
holiday/vacation.

Powered by Google App Engine
This is Rietveld 408576698