[PATCH 1/1] drm/amdgpu: Wipe all VRAM on free when RAS is enabled
Christian König
christian.koenig at amd.com
Wed Jan 26 07:20:18 UTC 2022
Am 25.01.22 um 16:58 schrieb Felix Kuehling:
> On GPUs with RAS, poison can propagate between processes if VRAM is not
> cleared when it is freed or allocated. The reason is, that not all write
> accesses clear RAS poison. 32-byte writes by the SDMA engine do clear RAS
> poison. Clearing memory in the background when it is freed should avoid
> major performance impact. KFD has been doing this already for a long time.
>
> Signed-off-by: Felix Kuehling <Felix.Kuehling at amd.com>
That looks even better than what I had in mind. Reviewed-by: Christian
König <christian.koenig at amd.com>.
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
> index ff9dc377a3a0..36bb41b027ec 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
> @@ -575,6 +575,9 @@ int amdgpu_bo_create(struct amdgpu_device *adev,
> if (!amdgpu_bo_support_uswc(bo->flags))
> bo->flags &= ~AMDGPU_GEM_CREATE_CPU_GTT_USWC;
>
> + if (adev->ras_enabled)
> + bo->flags |= AMDGPU_GEM_CREATE_VRAM_WIPE_ON_RELEASE;
> +
> bo->tbo.bdev = &adev->mman.bdev;
> if (bp->domain & (AMDGPU_GEM_DOMAIN_GWS | AMDGPU_GEM_DOMAIN_OA |
> AMDGPU_GEM_DOMAIN_GDS))
More information about the amd-gfx
mailing list