[PATCH] drm/radeon: make fence wait in suballocator uninterrruptable

Christian König ckoenig.leichtzumerken at gmail.com
Thu Sep 7 07:03:47 UTC 2023


Am 06.09.23 um 21:55 schrieb Alex Deucher:
> Commit 254986e324ad ("drm/radeon: Use the drm suballocation manager implementation.")
> made the fence wait in amdgpu_sa_bo_new() interruptible but there is no
> code to handle an interrupt. This caused the kernel to randomly explode
> in high-VRAM-pressure situations so make it uninterruptible again.
>
> Fixes: 254986e324ad ("drm/radeon: Use the drm suballocation manager implementation.")
> Link: https://gitlab.freedesktop.org/drm/amd/-/issues/2769
> Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
> CC: stable at vger.kernel.org # 6.4+
> CC: Simon Pilkington <simonp.git at gmail.com>

Reviewed-by: Christian König <christian.koenig at amd.com>

Going to push this to drm-misc-fixes in a minute.

Regards,
Christian.

> ---
>   drivers/gpu/drm/radeon/radeon_sa.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/radeon/radeon_sa.c b/drivers/gpu/drm/radeon/radeon_sa.c
> index c87a57c9c592..22dd8b445685 100644
> --- a/drivers/gpu/drm/radeon/radeon_sa.c
> +++ b/drivers/gpu/drm/radeon/radeon_sa.c
> @@ -123,7 +123,7 @@ int radeon_sa_bo_new(struct radeon_sa_manager *sa_manager,
>   		     unsigned int size, unsigned int align)
>   {
>   	struct drm_suballoc *sa = drm_suballoc_new(&sa_manager->base, size,
> -						   GFP_KERNEL, true, align);
> +						   GFP_KERNEL, false, align);
>   
>   	if (IS_ERR(sa)) {
>   		*sa_bo = NULL;



More information about the amd-gfx mailing list