[PATCH] drm/amdgpu: Don't flush HDP on A+A
Christian König
ckoenig.leichtzumerken at gmail.com
Thu May 27 12:14:44 UTC 2021
Am 26.05.21 um 15:55 schrieb Felix Kuehling:
> Am 2021-05-25 um 1:56 p.m. schrieb Eric Huang:
>> With XGMI connection flushing HDP on PCIe is unnecessary,
>> it is also to optimize memory allocation latency.
>>
>> Signed-off-by: Eric Huang <jinhuieric.huang at amd.com>
>>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_cpu.c
>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_cpu.c
>> index ac45d9c7a4e9..aefb3d2927d5 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_cpu.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_cpu.c
>> @@ -108,6 +108,8 @@ static int amdgpu_vm_cpu_update(struct
>> amdgpu_vm_update_params *p,
>> static int amdgpu_vm_cpu_commit(struct amdgpu_vm_update_params *p,
>> struct dma_fence **fence)
>> {
>> + if (p->adev->gmc.xgmi.connected_to_cpu)
>> + return 0;
> I wonder if this check should be inside hdp_v4_0_flush_hdp instead so it
> catches all unnecessary HDP flushing. On the other hand, that would
> still leave the mb(). But that mb() is probably needed anyway to ensure
> that the GPU will see any previous memory writes.
Yes, that was also my concern. But it looks like my reply never made it
to the mailing list.
I think we should have a function in amdgpu_device.c to decide if HDP
flush/Invalidate are necessary or not.
This should then be used at all the different places where we trigger
this (CS, GART and here).
Regards,
Christian.
>
> Regards,
> Felix
>
>
>> /* Flush HDP */
>> mb();
>> amdgpu_asic_flush_hdp(p->adev, NULL);
>> _______________________________________________
>> amd-gfx mailing list
>> amd-gfx at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
> _______________________________________________
> amd-gfx mailing list
> amd-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
More information about the amd-gfx
mailing list