[PATCH] drm/amdgpu: Update invalid PTE flag setting
Christian König
christian.koenig at amd.com
Thu Apr 6 15:06:13 UTC 2023
Am 06.04.23 um 17:01 schrieb Felix Kuehling:
> Am 2023-04-06 um 10:36 schrieb Christian König:
>> Am 04.04.23 um 23:59 schrieb Mukul Joshi:
>>> Update the invalid PTE flag setting to ensure, in addition
>>> to transitioning the retry fault to a no-retry fault, it
>>> also causes the wavefront to enter the trap handler. With the
>>> current setting, it only transitions to a no-retry fault.
>>
>> Well that was actually the intended result. Why should it enter the
>> trap handler here?
>
> We need the trap handler for reporting the fault to the debugger. The
> VM fault interrupt itself doesn't provide sufficient information to
> find the wave and the program counter that triggered the fault. It
> also doesn't work well when several waves are faulting on the same
> address.
Interesting. But then we still have the problem that VSP set is actually
a valid combination when this is applied to a non PTB.
So that really doesn't look like a good idea to me.
Regards,
Christian.
>
> Regards,
> Felix
>
>
>>
>>>
>>> Signed-off-by: Mukul Joshi <mukul.joshi at amd.com>
>>> ---
>>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
>>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
>>> index af6f26a97fc5..5df4f7bb241f 100644
>>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
>>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
>>> @@ -2488,7 +2488,7 @@ bool amdgpu_vm_handle_fault(struct
>>> amdgpu_device *adev, u32 pasid,
>>> /* Intentionally setting invalid PTE flag
>>> * combination to force a no-retry-fault
>>> */
>>> - flags = AMDGPU_PTE_SNOOPED | AMDGPU_PTE_PRT;
>>> + flags = AMDGPU_PTE_VALID | AMDGPU_PTE_SYSTEM | AMDGPU_PTE_PRT;
>>
>> As far as I can see this is actually a valid combination and would
>> not have the desired result.
>>
>> Regards,
>> Christian.
>>
>>> value = 0;
>>> } else if (amdgpu_vm_fault_stop == AMDGPU_VM_FAULT_STOP_NEVER) {
>>> /* Redirect the access to the dummy page */
>>
More information about the amd-gfx
mailing list