|
|
Created:
4 years, 2 months ago by no sievers Modified:
4 years, 2 months ago CC:
chromium-reviews, yusukes+watch_chromium.org, shuchen+watch_chromium.org, jam, sievers+watch_chromium.org, jbauman+watch_chromium.org, nona+watch_chromium.org, darin-cc_chromium.org, piman+watch_chromium.org, kalyank, danakj+watch_chromium.org, James Su Target Ref:
refs/pending/heads/master Project:
chromium Visibility:
Public. |
DescriptionAndroid: Second attempt at freeing GLHelper ashmem
This tears down the GLHelperHolder in RenderWidgetHostViewAndroid
when all activities get stopped.
But it only does this if there are no more readback
requests in flight.
BUG=641962, 636630
Committed: https://crrev.com/c9afe77bc5411c3bf0760c9acc37941e6e24540a
Cr-Commit-Position: refs/heads/master@{#423045}
Patch Set 1 #Patch Set 2 : doh #
Total comments: 9
Patch Set 3 : rebase #Patch Set 4 : Dana's comments #Patch Set 5 : add comment and dcheck() #
Messages
Total messages: 29 (22 generated)
Description was changed from ========== Android: Second attempt at freeing GLHelper ashmem This mostly reverts https://codereview.chromium.org/2336043004/. And instead drops the GLHelper and context when the app goes to the background and no readbacks are in flight. BUG=641962,636630 ========== to ========== Android: Second attempt at freeing GLHelper ashmem This mostly reverts https://codereview.chromium.org/2336043004/. And instead drops the GLHelper and context when the app goes to the background and no readbacks are in flight. BUG=641962,636630 ==========
sievers@chromium.org changed reviewers: + danakj@chromium.org
The CQ bit was checked by sievers@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: cast_shell_android on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/cast_shell_a...)
danakj@chromium.org changed reviewers: + boliu@chromium.org
LGTM https://codereview.chromium.org/2383613005/diff/20001/content/browser/rendere... File content/browser/renderer_host/render_widget_host_view_android.cc (right): https://codereview.chromium.org/2383613005/diff/20001/content/browser/rendere... content/browser/renderer_host/render_widget_host_view_android.cc:109: class PendingReadbackLock : public base::RefCounted<PendingReadbackLock> { This is fine, but another way to do this would be int g_num_readbacks_pending = 0; class PendingReadbackLock() { PendingReadbackLock() { ++g_num_readbacks_pending; } ~PendingReadbackLock() { --g_num_readbacks_pending; } }; Then we don't need any refcounted objects, the global is simply the refcount. Up to you. https://codereview.chromium.org/2383613005/diff/20001/content/browser/rendere... content/browser/renderer_host/render_widget_host_view_android.cc:116: ~PendingReadbackLock() { Destructor should be private with friend of RefCounted. https://codereview.chromium.org/2383613005/diff/20001/content/browser/rendere... content/browser/renderer_host/render_widget_host_view_android.cc:303: BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, I'd like a comment explaining why this is posting the task instead of doing it immediately, cuz that's not clear to me https://codereview.chromium.org/2383613005/diff/20001/content/browser/rendere... content/browser/renderer_host/render_widget_host_view_android.cc:1872: namespace { bonus points if this method can move up to the anon namespace at the top of the file. https://codereview.chromium.org/2383613005/diff/20001/content/browser/rendere... content/browser/renderer_host/render_widget_host_view_android.cc:1930: } // anonymous namespace just "// namespace"
Patchset #3 (id:40001) has been deleted
Patchset #3 (id:60001) has been deleted
The CQ bit was checked by sievers@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Patchset #3 (id:80001) has been deleted
Dry run: Try jobs failed on following builders: chromium_presubmit on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presub...) linux_chromium_chromeos_compile_dbg_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...) mac_chromium_compile_dbg_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_comp...) mac_chromium_rel_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_...)
The CQ bit was checked by sievers@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
https://codereview.chromium.org/2383613005/diff/20001/content/browser/rendere... File content/browser/renderer_host/render_widget_host_view_android.cc (right): https://codereview.chromium.org/2383613005/diff/20001/content/browser/rendere... content/browser/renderer_host/render_widget_host_view_android.cc:116: ~PendingReadbackLock() { On 2016/10/03 20:47:43, danakj wrote: > Destructor should be private with friend of RefCounted. Done. https://codereview.chromium.org/2383613005/diff/20001/content/browser/rendere... content/browser/renderer_host/render_widget_host_view_android.cc:303: BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, On 2016/10/03 20:47:44, danakj wrote: > I'd like a comment explaining why this is posting the task instead of doing it > immediately, cuz that's not clear to me Done. https://codereview.chromium.org/2383613005/diff/20001/content/browser/rendere... content/browser/renderer_host/render_widget_host_view_android.cc:1872: namespace { On 2016/10/03 20:47:44, danakj wrote: > bonus points if this method can move up to the anon namespace at the top of the > file. Done. https://codereview.chromium.org/2383613005/diff/20001/content/browser/rendere... content/browser/renderer_host/render_widget_host_view_android.cc:1930: } // anonymous namespace On 2016/10/03 20:47:44, danakj wrote: > just "// namespace" Done.
Patchset #4 (id:120001) has been deleted
lgtm remember to update CL description to not mention the revert part
Description was changed from ========== Android: Second attempt at freeing GLHelper ashmem This mostly reverts https://codereview.chromium.org/2336043004/. And instead drops the GLHelper and context when the app goes to the background and no readbacks are in flight. BUG=641962,636630 ========== to ========== Android: Second attempt at freeing GLHelper ashmem This tears down the GLHelperHolder in RenderWidgetHostViewAndroid when all activities get stopped. BUG=641962,636630 ==========
On 2016/10/05 00:49:50, boliu wrote: > lgtm > > remember to update CL description to not mention the revert part Done
Description was changed from ========== Android: Second attempt at freeing GLHelper ashmem This tears down the GLHelperHolder in RenderWidgetHostViewAndroid when all activities get stopped. BUG=641962,636630 ========== to ========== Android: Second attempt at freeing GLHelper ashmem This tears down the GLHelperHolder in RenderWidgetHostViewAndroid when all activities get stopped. But it only does this if there are no more readback requests in flight. BUG=641962,636630 ==========
The CQ bit was checked by sievers@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from danakj@chromium.org, boliu@chromium.org Link to the patchset: https://codereview.chromium.org/2383613005/#ps160001 (title: "add comment and dcheck()")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Message was sent while issue was closed.
Description was changed from ========== Android: Second attempt at freeing GLHelper ashmem This tears down the GLHelperHolder in RenderWidgetHostViewAndroid when all activities get stopped. But it only does this if there are no more readback requests in flight. BUG=641962,636630 ========== to ========== Android: Second attempt at freeing GLHelper ashmem This tears down the GLHelperHolder in RenderWidgetHostViewAndroid when all activities get stopped. But it only does this if there are no more readback requests in flight. BUG=641962,636630 ==========
Message was sent while issue was closed.
Committed patchset #5 (id:160001)
Message was sent while issue was closed.
Description was changed from ========== Android: Second attempt at freeing GLHelper ashmem This tears down the GLHelperHolder in RenderWidgetHostViewAndroid when all activities get stopped. But it only does this if there are no more readback requests in flight. BUG=641962,636630 ========== to ========== Android: Second attempt at freeing GLHelper ashmem This tears down the GLHelperHolder in RenderWidgetHostViewAndroid when all activities get stopped. But it only does this if there are no more readback requests in flight. BUG=641962,636630 Committed: https://crrev.com/c9afe77bc5411c3bf0760c9acc37941e6e24540a Cr-Commit-Position: refs/heads/master@{#423045} ==========
Message was sent while issue was closed.
Patchset 5 (id:??) landed as https://crrev.com/c9afe77bc5411c3bf0760c9acc37941e6e24540a Cr-Commit-Position: refs/heads/master@{#423045} |