[PATCH 11/11] drm/amdgpu: stop removing BOs from the LRU during CS

Christian König ckoenig.leichtzumerken at gmail.com
Wed May 15 14:16:29 UTC 2019


That is a good point, but actually not a problem in practice.

See the change to ttm_eu_fence_buffer_objects:
> -               ttm_bo_add_to_lru(bo);
> +               if (list_empty(&bo->lru))
> +                       ttm_bo_add_to_lru(bo);
> +               else
> +                       ttm_bo_move_to_lru_tail(bo, NULL);

We still move the BOs to the end of the LRU in the same order we have 
before, we just don't remove them when they are reserved.

Regards,
Christian.

Am 14.05.19 um 16:31 schrieb Zhou, David(ChunMing):
> how to refresh LRU to keep the order align with bo list passed from 
> user space?
>
> you can verify it by some games, performance could be different much 
> between multiple runnings.
>
> -David
>
> -------- Original Message --------
> Subject: Re: [PATCH 11/11] drm/amdgpu: stop removing BOs from the LRU 
> during CS
> From: Christian König
> To: "Zhou, David(ChunMing)" ,"Olsak, Marek" ,"Liang, Prike" 
> ,dri-devel at lists.freedesktop.org,amd-gfx at lists.freedesktop.org
> CC:
>
> [CAUTION: External Email]
> Hui? What do you mean with that?
>
> Christian.
>
> Am 14.05.19 um 15:12 schrieb Zhou, David(ChunMing):
>> my only concern is how to fresh LRU when bo is from bo list.
>>
>> -David
>>
>> -------- Original Message --------
>> Subject: [PATCH 11/11] drm/amdgpu: stop removing BOs from the LRU 
>> during CS
>> From: Christian König
>> To: "Olsak, Marek" ,"Zhou, David(ChunMing)" ,"Liang, Prike" 
>> ,dri-devel at lists.freedesktop.org,amd-gfx at lists.freedesktop.org
>> CC:
>>
>> [CAUTION: External Email]
>>
>> This avoids OOM situations when we have lots of threads
>> submitting at the same time.
>>
>> Signed-off-by: Christian König <christian.koenig at amd.com>
>> ---
>>  drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c 
>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
>> index fff558cf385b..f9240a94217b 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
>> @@ -648,7 +648,7 @@ static int amdgpu_cs_parser_bos(struct 
>> amdgpu_cs_parser *p,
>>         }
>>
>>         r = ttm_eu_reserve_buffers(&p->ticket, &p->validated, true,
>> -                                  &duplicates, true);
>> +                                  &duplicates, false);
>>         if (unlikely(r != 0)) {
>>                 if (r != -ERESTARTSYS)
>> DRM_ERROR("ttm_eu_reserve_buffers failed.\n");
>> --
>> 2.17.1
>>
>
>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20190515/e7bb62bc/attachment.html>


More information about the dri-devel mailing list