Fix cc_perftests issues in debug mode. |
|||
Issue descriptionThere are many crashes seen, when ./out/Debug/cc_perftests is run. Fix them to make them correct.
,
Apr 29 2016
,
Apr 29 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/47e6a3dfb5ffc428ec6a7f5788c73c8d4c6d7364 commit 47e6a3dfb5ffc428ec6a7f5788c73c8d4c6d7364 Author: prashant.n <prashant.n@samsung.com> Date: Fri Apr 29 10:43:28 2016 cc: Correct task graph edges in tile_task_worker_pool_perf_tests.cc. The task is edge is (task <-- dependent). This patch corrects edges in tile_task_worker_pool_perf_tests.cc in BuildTileTaskGraph. BUG=607818 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review-Url: https://codereview.chromium.org/1928273002 Cr-Commit-Position: refs/heads/master@{#390613} [modify] https://crrev.com/47e6a3dfb5ffc428ec6a7f5788c73c8d4c6d7364/cc/raster/tile_task_worker_pool_perftest.cc
,
May 17 2016
As of current codebase, following tests are failing - RasterBufferProviderPerfTests/RasterBufferProviderPerfTest.ScheduleAndExecuteTasks/0 (../../cc/raster/raster_buffer_provider_perftest.cc:447) RasterBufferProviderPerfTests/RasterBufferProviderPerfTest.ScheduleAndExecuteTasks/1 (../../cc/raster/raster_buffer_provider_perftest.cc:447) RasterBufferProviderPerfTests/RasterBufferProviderPerfTest.ScheduleAndExecuteTasks/2 (../../cc/raster/raster_buffer_provider_perftest.cc:447) RasterBufferProviderPerfTests/RasterBufferProviderPerfTest.ScheduleAndExecuteTasks/3 (../../cc/raster/raster_buffer_provider_perftest.cc:447) SurfaceAggregatorPerfTest.FewSurfaces (../../cc/surfaces/surface_aggregator_perftest.cc:156) SurfaceAggregatorPerfTest.FewSurfacesAggregateDamaged (../../cc/surfaces/surface_aggregator_perftest.cc:172) SurfaceAggregatorPerfTest.FewSurfacesDamageCalc (../../cc/surfaces/surface_aggregator_perftest.cc:168) SurfaceAggregatorPerfTest.ManySurfacesOpaque (../../cc/surfaces/surface_aggregator_perftest.cc:148) SurfaceAggregatorPerfTest.ManySurfacesOpaqueDamageCalc (../../cc/surfaces/surface_aggregator_perftest.cc:160) SurfaceAggregatorPerfTest.ManySurfacesTransparent (../../cc/surfaces/surface_aggregator_perftest.cc:152) SurfaceAggregatorPerfTest.ManySurfacesTransparentDamageCalc (../../cc/surfaces/surface_aggregator_perftest.cc:164)
,
May 18 2016
,
May 26 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/06e1561a832083330a193743a427b1354ab3cd39 commit 06e1561a832083330a193743a427b1354ab3cd39 Author: prashant.n <prashant.n@samsung.com> Date: Thu May 26 17:35:21 2016 cc: Remove ScheduleOnOriginThread() and CompleteOnOriginThread(). The task's job is performed in RunOnWorkerThread() and schedule or complete are not needed as a part of task's job. Those are the responsibilities of task's owner (TileManager - compositor thread). This patch removes following functions which were basically needed for async upload. Now raster buffer is provided to task at the time of ctor and functionality of CompleteOnOriginThread() is moved to task's owner. ScheduleOnOriginThread() CompleteOnOriginThread() New OnTaskCompleted() function calls corresponding function of task owner. This patch implements following life cycle for the task. 1. Task's owner creates task with all needed info on origin thread. 2. Task is scheduled and run on worker thread. 3. Completed task is processed on origin thread by task owner. 4. Task is destroyed. This patch also fixes few task related failing cc_perftests (607818). BUG= 499372 , 599863, 607818, 613529 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review-Url: https://codereview.chromium.org/1866043006 Cr-Commit-Position: refs/heads/master@{#396218} [modify] https://crrev.com/06e1561a832083330a193743a427b1354ab3cd39/cc/raster/raster_buffer_provider_perftest.cc [modify] https://crrev.com/06e1561a832083330a193743a427b1354ab3cd39/cc/raster/raster_buffer_provider_unittest.cc [modify] https://crrev.com/06e1561a832083330a193743a427b1354ab3cd39/cc/raster/task.cc [modify] https://crrev.com/06e1561a832083330a193743a427b1354ab3cd39/cc/raster/task.h [modify] https://crrev.com/06e1561a832083330a193743a427b1354ab3cd39/cc/raster/task_graph_runner_perftest.cc [modify] https://crrev.com/06e1561a832083330a193743a427b1354ab3cd39/cc/raster/tile_task.cc [modify] https://crrev.com/06e1561a832083330a193743a427b1354ab3cd39/cc/raster/tile_task.h [modify] https://crrev.com/06e1561a832083330a193743a427b1354ab3cd39/cc/test/fake_tile_task_manager.cc [modify] https://crrev.com/06e1561a832083330a193743a427b1354ab3cd39/cc/test/fake_tile_task_manager.h [modify] https://crrev.com/06e1561a832083330a193743a427b1354ab3cd39/cc/test/task_graph_runner_test_template.h [modify] https://crrev.com/06e1561a832083330a193743a427b1354ab3cd39/cc/tiles/gpu_image_decode_controller.cc [modify] https://crrev.com/06e1561a832083330a193743a427b1354ab3cd39/cc/tiles/gpu_image_decode_controller.h [modify] https://crrev.com/06e1561a832083330a193743a427b1354ab3cd39/cc/tiles/gpu_image_decode_controller_unittest.cc [modify] https://crrev.com/06e1561a832083330a193743a427b1354ab3cd39/cc/tiles/software_image_decode_controller.cc [modify] https://crrev.com/06e1561a832083330a193743a427b1354ab3cd39/cc/tiles/software_image_decode_controller_unittest.cc [modify] https://crrev.com/06e1561a832083330a193743a427b1354ab3cd39/cc/tiles/tile_manager.cc [modify] https://crrev.com/06e1561a832083330a193743a427b1354ab3cd39/cc/tiles/tile_manager.h [modify] https://crrev.com/06e1561a832083330a193743a427b1354ab3cd39/cc/tiles/tile_manager_unittest.cc [modify] https://crrev.com/06e1561a832083330a193743a427b1354ab3cd39/cc/tiles/tile_task_manager.cc [modify] https://crrev.com/06e1561a832083330a193743a427b1354ab3cd39/cc/tiles/tile_task_manager.h
,
May 27 2016
Now only following tests remained to fix (SurfaceAggregatorPerfTest.*) - SurfaceAggregatorPerfTest.FewSurfaces (../../cc/surfaces/surface_aggregator_perftest.cc:156) SurfaceAggregatorPerfTest.FewSurfacesAggregateDamaged (../../cc/surfaces/surface_aggregator_perftest.cc:172) SurfaceAggregatorPerfTest.FewSurfacesDamageCalc (../../cc/surfaces/surface_aggregator_perftest.cc:168) SurfaceAggregatorPerfTest.ManySurfacesOpaque (../../cc/surfaces/surface_aggregator_perftest.cc:148) SurfaceAggregatorPerfTest.ManySurfacesOpaqueDamageCalc (../../cc/surfaces/surface_aggregator_perftest.cc:160) SurfaceAggregatorPerfTest.ManySurfacesTransparent (../../cc/surfaces/surface_aggregator_perftest.cc:152) SurfaceAggregatorPerfTest.ManySurfacesTransparentDamageCalc (../../cc/surfaces/surface_aggregator_perftest.cc:164)
,
May 31 2016
With latest codebase, following additional tests fail in debug mode -
TileManagerPerfTest.EvictionTileQueueConstruct (../../cc/tiles/tile_manager_perftest.cc:336)
TileManagerPerfTest.EvictionTileQueueConstructAndIterate (../../cc/tiles/tile_manager_perftest.cc:342)
TileManagerPerfTest.PrepareTiles (../../cc/tiles/tile_manager_perftest.cc:303)
TileManagerPerfTest.RasterTileQueueConstruct (../../cc/tiles/tile_manager_perftest.cc:315)
TileManagerPerfTest.RasterTileQueueConstructAndIterate (../../cc/tiles/tile_manager_perftest.cc:321)
with FATAL:layer_tree_host_impl.cc(1967)] Check failed: !pending_tree_duration_timer_.
Without adding this to trybots it is difficult to get this caught.
,
Jun 1 2016
The last DCHECK seems to be caused (or exposed) by https://codereview.chromium.org/1878323004 . It seems like we're creating another pending tree before we activate.
,
Jun 1 2016
Uploaded a fix for #9: https://codereview.chromium.org/2027803003/
,
Jun 1 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/234a1a16b8e3641a4d3e065344a8cc32b5ea431f commit 234a1a16b8e3641a4d3e065344a8cc32b5ea431f Author: ajuma <ajuma@chromium.org> Date: Wed Jun 01 17:57:54 2016 cc: Destroy pending_tree_duration_timer_ when reseting trees This fixes a DCHECK during TileManagerPerfTests. LTHI::ResetTreesForTesting destroys the pending tree, so if it doesn't also destroy the pending tree duration timer, the next call to CreatePendingTree will fail the DCHECK that the timer doesn't already exist. BUG=607818 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review-Url: https://codereview.chromium.org/2027803003 Cr-Commit-Position: refs/heads/master@{#397180} [modify] https://crrev.com/234a1a16b8e3641a4d3e065344a8cc32b5ea431f/cc/trees/layer_tree_host_impl.cc
,
Jan 11
You started fixing this bug over two years ago. Are you still working on it? |
|||
►
Sign in to add a comment |
|||
Comment 1 by prashan...@samsung.com
, Apr 29 2016