|
|
Created:
6 years, 7 months ago by jadahl Modified:
6 years, 7 months ago CC:
chromium-reviews, piman+watch_chromium.org Base URL:
http://git.chromium.org/chromium/src.git@master Visibility:
Public. |
Descriptiongpu: Assert that FencedAllocator is empty in destructor
With the commit "gpu: Reuse transfer buffers more aggresively" mapped
memory is free:ed on lost context. This means that we can reinstate the
DCHECKs in the FencedAllocator destructor that checks that all blocks
have been free:ed by their owner.
Tests that didn't explicitly free mapped memory now do so, and one test
that tested that leaking was OK has been removed.
BUG=328808
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=270991
Patch Set 1 #Patch Set 2 : Fixed 64 bit only test #
Messages
Total messages: 32 (0 generated)
This was discussed a while back, in the code review of the previous CL of the linked bug.
LGTM, thank.
The CQ bit was checked by jadahl@opera.com
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/jadahl@opera.com/282513003/1
FYI, CQ is re-trying this CL (attempt #1). Please consider checking whether the failures are real, and report flakes to chrome-troopers@google.com. The failing builders are: android_dbg_triggered_tests on tryserver.chromium (http://build.chromium.org/p/tryserver.chromium/builders/android_dbg_triggered...) linux_chromium_chromeos_rel on tryserver.chromium (http://build.chromium.org/p/tryserver.chromium/builders/linux_chromium_chrome...) linux_chromium_rel on tryserver.chromium (http://build.chromium.org/p/tryserver.chromium/builders/linux_chromium_rel/bu...) win_chromium_rel on tryserver.chromium (http://build.chromium.org/p/tryserver.chromium/builders/win_chromium_rel/buil...) win_chromium_x64_rel on tryserver.chromium (http://build.chromium.org/p/tryserver.chromium/builders/win_chromium_x64_rel/...)
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: win_chromium_x64_rel on tryserver.chromium (http://build.chromium.org/p/tryserver.chromium/builders/win_chromium_x64_rel/...)
Uploaded an updated version where tests also pass on 64 bit (as the test did an early out on <= 32bit systems).
lgtm
The CQ bit was checked by jadahl@opera.com
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/jadahl@opera.com/282513003/20001
The CQ bit was unchecked by commit-bot@chromium.org
Failed to apply patch for @master/gpu/command_buffer/client/fenced_allocator.cc: While running svn add @master --force --config-dir /b/infra_internal/commit_queue/subversion_config --non-interactive; svn: '@master' is just a peg revision. Maybe try '@master@' instead? Patch: @master/gpu/command_buffer/client/fenced_allocator.cc Index: gpu/command_buffer/client/fenced_allocator.cc diff --git @master/gpu/command_buffer/client/fenced_allocator.cc @master/gpu/command_buffer/client/fenced_allocator.cc index 4e405e94e7ad5626094fe9fb91ec365f00189835..80038571be9fccf4e5274101e0959c33aa2586c9 100644 --- a/@master/gpu/command_buffer/client/fenced_allocator.cc +++ b/@master/gpu/command_buffer/client/fenced_allocator.cc @@ -50,9 +50,9 @@ FencedAllocator::~FencedAllocator() { i = WaitForTokenAndFreeBlock(i); } } - // These checks are not valid if the service has crashed or lost the context. - // DCHECK_EQ(blocks_.size(), 1u); - // DCHECK_EQ(blocks_[0].state, FREE); + + DCHECK_EQ(blocks_.size(), 1u); + DCHECK_EQ(blocks_[0].state, FREE); } // Looks for a non-allocated block that is big enough. Search in the FREE
The CQ bit was checked by jadahl@opera.com
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/jadahl@opera.com/282513003/20001
The CQ bit was unchecked by commit-bot@chromium.org
Failed to apply patch for @master/gpu/command_buffer/client/fenced_allocator.cc: While running svn add @master --force --config-dir /b/infra_internal/commit_queue/subversion_config --non-interactive; svn: '@master' is just a peg revision. Maybe try '@master@' instead? Patch: @master/gpu/command_buffer/client/fenced_allocator.cc Index: gpu/command_buffer/client/fenced_allocator.cc diff --git @master/gpu/command_buffer/client/fenced_allocator.cc @master/gpu/command_buffer/client/fenced_allocator.cc index 4e405e94e7ad5626094fe9fb91ec365f00189835..80038571be9fccf4e5274101e0959c33aa2586c9 100644 --- a/@master/gpu/command_buffer/client/fenced_allocator.cc +++ b/@master/gpu/command_buffer/client/fenced_allocator.cc @@ -50,9 +50,9 @@ FencedAllocator::~FencedAllocator() { i = WaitForTokenAndFreeBlock(i); } } - // These checks are not valid if the service has crashed or lost the context. - // DCHECK_EQ(blocks_.size(), 1u); - // DCHECK_EQ(blocks_[0].state, FREE); + + DCHECK_EQ(blocks_.size(), 1u); + DCHECK_EQ(blocks_[0].state, FREE); } // Looks for a non-allocated block that is big enough. Search in the FREE
The CQ bit was checked by phajdan.jr@chromium.org
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/jadahl@opera.com/282513003/20001
The CQ bit was unchecked by commit-bot@chromium.org
Failed to apply patch for @master/gpu/command_buffer/client/fenced_allocator.cc: While running svn add @master --force --config-dir /b/infra_internal/commit_queue/subversion_config --non-interactive; svn: '@master' is just a peg revision. Maybe try '@master@' instead? Patch: @master/gpu/command_buffer/client/fenced_allocator.cc Index: gpu/command_buffer/client/fenced_allocator.cc diff --git @master/gpu/command_buffer/client/fenced_allocator.cc @master/gpu/command_buffer/client/fenced_allocator.cc index 4e405e94e7ad5626094fe9fb91ec365f00189835..80038571be9fccf4e5274101e0959c33aa2586c9 100644 --- a/@master/gpu/command_buffer/client/fenced_allocator.cc +++ b/@master/gpu/command_buffer/client/fenced_allocator.cc @@ -50,9 +50,9 @@ FencedAllocator::~FencedAllocator() { i = WaitForTokenAndFreeBlock(i); } } - // These checks are not valid if the service has crashed or lost the context. - // DCHECK_EQ(blocks_.size(), 1u); - // DCHECK_EQ(blocks_[0].state, FREE); + + DCHECK_EQ(blocks_.size(), 1u); + DCHECK_EQ(blocks_[0].state, FREE); } // Looks for a non-allocated block that is big enough. Search in the FREE
The CQ bit was checked by phajdan.jr@chromium.org
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/jadahl@opera.com/282513003/20001
The CQ bit was unchecked by commit-bot@chromium.org
Failed to apply patch for @master/gpu/command_buffer/client/fenced_allocator.cc: While running svn add @master --force --config-dir /b/infra_internal/commit_queue/subversion_config --non-interactive; svn: '@master' is just a peg revision. Maybe try '@master@' instead? Patch: @master/gpu/command_buffer/client/fenced_allocator.cc Index: gpu/command_buffer/client/fenced_allocator.cc diff --git @master/gpu/command_buffer/client/fenced_allocator.cc @master/gpu/command_buffer/client/fenced_allocator.cc index 4e405e94e7ad5626094fe9fb91ec365f00189835..80038571be9fccf4e5274101e0959c33aa2586c9 100644 --- a/@master/gpu/command_buffer/client/fenced_allocator.cc +++ b/@master/gpu/command_buffer/client/fenced_allocator.cc @@ -50,9 +50,9 @@ FencedAllocator::~FencedAllocator() { i = WaitForTokenAndFreeBlock(i); } } - // These checks are not valid if the service has crashed or lost the context. - // DCHECK_EQ(blocks_.size(), 1u); - // DCHECK_EQ(blocks_[0].state, FREE); + + DCHECK_EQ(blocks_.size(), 1u); + DCHECK_EQ(blocks_[0].state, FREE); } // Looks for a non-allocated block that is big enough. Search in the FREE
The CQ bit was checked by phajdan.jr@chromium.org
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/jadahl@opera.com/282513003/20001
The CQ bit was unchecked by commit-bot@chromium.org
Failed to apply patch for @master/gpu/command_buffer/client/fenced_allocator.cc: While running svn add @master --force --config-dir /b/infra_internal/commit_queue/subversion_config --non-interactive; svn: '@master' is just a peg revision. Maybe try '@master@' instead? Patch: @master/gpu/command_buffer/client/fenced_allocator.cc Index: gpu/command_buffer/client/fenced_allocator.cc diff --git @master/gpu/command_buffer/client/fenced_allocator.cc @master/gpu/command_buffer/client/fenced_allocator.cc index 4e405e94e7ad5626094fe9fb91ec365f00189835..80038571be9fccf4e5274101e0959c33aa2586c9 100644 --- a/@master/gpu/command_buffer/client/fenced_allocator.cc +++ b/@master/gpu/command_buffer/client/fenced_allocator.cc @@ -50,9 +50,9 @@ FencedAllocator::~FencedAllocator() { i = WaitForTokenAndFreeBlock(i); } } - // These checks are not valid if the service has crashed or lost the context. - // DCHECK_EQ(blocks_.size(), 1u); - // DCHECK_EQ(blocks_[0].state, FREE); + + DCHECK_EQ(blocks_.size(), 1u); + DCHECK_EQ(blocks_[0].state, FREE); } // Looks for a non-allocated block that is big enough. Search in the FREE
The CQ bit was checked by phajdan.jr@chromium.org
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/jadahl@opera.com/282513003/20001
Message was sent while issue was closed.
Change committed as 270991 |