[PATCH] drm/radeon: only warn once in radeon_ttm_bo_destroy if va list not empty
Christian König
deathsimple at vodafone.de
Thu Apr 27 12:14:06 UTC 2017
Am 27.04.2017 um 12:58 schrieb Julien Isorce:
> But always print an error.
>
> Encountered a dozen of exact same backtraces when mesa's
> pb_cache_release_all_buffers is called after that a gpu reset failed.
>
> An other approach would be to check rdev->vm_manager.enabled instead
> of rdev->accel_working in the other function radeon_gem_object_close.
> But it will only work if the vm_manager succeeded to be re-enabled
> after a gpu reset.
>
> bug: https://bugs.freedesktop.org/show_bug.cgi?id=96271
>
> Signed-off-by: Julien Isorce <jisorce at oblong.com>
> ---
> drivers/gpu/drm/radeon/radeon_object.c | 8 +++++++-
> 1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/radeon/radeon_object.c b/drivers/gpu/drm/radeon/radeon_object.c
> index bec2ec0..76cc039 100644
> --- a/drivers/gpu/drm/radeon/radeon_object.c
> +++ b/drivers/gpu/drm/radeon/radeon_object.c
> @@ -81,7 +81,13 @@ static void radeon_ttm_bo_destroy(struct ttm_buffer_object *tbo)
> list_del_init(&bo->list);
> mutex_unlock(&bo->rdev->gem.mutex);
> radeon_bo_clear_surface_reg(bo);
> - WARN_ON(!list_empty(&bo->va));
> +
> + if (!list_empty(&bo->va)) {
> + DRM_ERROR("Virtual address list not empty, accel: %d\n",
> + bo->rdev->accel_working);
> + WARN_ON_ONCE(1);
> + }
> +
The message is superfluous if we initially started up the GPU and found
later that we can't get GFX working again after a GPU reset it is pretty
much impossible to continue.
I would just change the "WARN_ON(!list_empty(&bo->va));" to a
"WARN_ON_ONCE(!list_empty(&bo->va));".
Regards,
Christian.
> drm_gem_object_release(&bo->gem_base);
> kfree(bo);
> }
More information about the amd-gfx
mailing list