[Nouveau] [PATCH 2/2] drm/amdgpu: use GTT only as fallback for VRAM|GTT

Christian König ckoenig.leichtzumerken at gmail.com
Mon Nov 27 18:59:16 UTC 2023


Am 27.11.23 um 17:47 schrieb Bhardwaj, Rajneesh:
> [AMD Official Use Only - General]
>
> -----Original Message-----
> From: amd-gfx <amd-gfx-bounces at lists.freedesktop.org> On Behalf Of Hamza Mahfooz
> Sent: Monday, November 27, 2023 10:53 AM
> To: Christian König <ckoenig.leichtzumerken at gmail.com>; jani.nikula at linux.intel.com; kherbst at redhat.com; dakr at redhat.com; zackr at vmware.com; Olsak, Marek <Marek.Olsak at amd.com>; linux-graphics-maintainer at vmware.com; amd-gfx at lists.freedesktop.org; nouveau at lists.freedesktop.org; intel-gfx at lists.freedesktop.org; virtualization at lists.linux.dev; spice-devel at lists.freedesktop.org; dri-devel at lists.freedesktop.org
> Subject: Re: [PATCH 2/2] drm/amdgpu: use GTT only as fallback for VRAM|GTT
>
> On 11/27/23 09:54, Christian König wrote:
>> Try to fill up VRAM as well by setting the busy flag on GTT allocations.
>>
>> This fixes the issue that when VRAM was evacuated for suspend it's
>> never filled up again unless the application is restarted.
> I found the subject description a bit misleading. Maybe use a Fixes tag describing it is a fix for suspend resume regression other than that, looks good to me.

Well exactly that's the problem, this isn't really a fix and we also 
don't want to backport it.

Basically the previous behavior was working as design, it's just that it 
was never intended to be used like this.

>
> Acked-by: Rajneesh Bhardwaj <rajneesh.bhardwaj at amd.com>
>
> Link: https://gitlab.freedesktop.org/drm/amd/-/issues/2893

Thanks,
Christian.

>
>> Signed-off-by: Christian König <christian.koenig at amd.com>
>> ---
>>    drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 6 ++++++
>>    1 file changed, 6 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
>> index aa0dd6dad068..ddc8fb4db678 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
>> @@ -173,6 +173,12 @@ void amdgpu_bo_placement_from_domain(struct amdgpu_bo *abo, u32 domain)
>>                        abo->flags & AMDGPU_GEM_CREATE_PREEMPTIBLE ?
>>                        AMDGPU_PL_PREEMPT : TTM_PL_TT;
>>                places[c].flags = 0;
>> +             /*
>> +              * When GTT is just an alternative to VRAM make sure that we
>> +              * only use it as fallback and still try to fill up VRAM first.
>> +              */
>> +             if (domain & AMDGPU_GEM_DOMAIN_VRAM)
>> +                     places[c].flags |= TTM_PL_FLAG_BUSY;
>>                c++;
>>        }
>>
> --
> Hamza
>



More information about the Nouveau mailing list