[PATCH] drm/amdgpu: Reserve fence slots for command submission

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 07/04/2018 02:34 PM, Christian König wrote:
> Am 04.07.2018 um 05:02 schrieb Junwei Zhang:
>> From: Michel Dänzer <michel.daenzer at amd.com>
>>
>> Without this, there could not be enough slots, which could trigger the
>> BUG_ON in reservation_object_add_shared_fence.
>>
>> v2:
>> * Jump to the error label instead of returning directly (Jerry Zhang)
>> v3:
>> * Reserve slots for command submission after VM updates (Christian König)
>>
>> Cc: stable at vger.kernel.org
>> Bugzilla: https://bugs.freedesktop.org/106418
>> Reported-by: mikhail.v.gavrilov at gmail.com
>> Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
>> Signed-off-by: Junwei Zhang <Jerry.Zhang at amd.com>
>
> I would put that at the end of amdgpu_bo_vm_update_pte(), but that is only a minor nit pick.

At first, I really put it at the end of amdgpu_bo_vm_update_pte().
On the 2nd thought, that func may be called by others(although it's not for now),
so I move it out of there to the caller.

Jerry

>
> Patch is Reviewed-by: Christian König <christian.koenig at amd.com> anyway.
>
> Regards,
> Christian.
>
>> ---
>>   drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 4 ++++
>>   1 file changed, 4 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
>> index 7a625f3..1bc0281 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
>> @@ -928,6 +928,10 @@ static int amdgpu_cs_ib_vm_chunk(struct amdgpu_device *adev,
>>           r = amdgpu_bo_vm_update_pte(p);
>>           if (r)
>>               return r;
>> +
>> +        r = reservation_object_reserve_shared(vm->root.base.bo->tbo.resv);
>> +        if (r)
>> +            return r;
>>       }
>>       return amdgpu_cs_sync_rings(p);
>


[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux