[PATCH] drm/amdkfd: Optimize svm range map to GPU with XNACK on
Felix Kuehling
felix.kuehling at amd.com
Fri Apr 28 19:52:35 UTC 2023
On 2023-04-28 11:24, Philip Yang wrote:
>
> On 2023-04-27 12:35, Felix Kuehling wrote:
>>
>> On 2023-04-24 14:38, Philip Yang wrote:
>>> With XNACK on if svm_range_set_attr set the range access or
>>> access_in_place attribute, we don't call svm_range_validate_and_map to
>>> update GPU mapping. This avoids prefaulting the range pages on system
>>> memory if the range is not prefetch to VRAM and not mapped to GPUs.
>>>
>>> Signed-off-by: Philip Yang <Philip.Yang at amd.com>
>>> ---
>>> drivers/gpu/drm/amd/amdkfd/kfd_svm.c | 4 +++-
>>> 1 file changed, 3 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_svm.c
>>> b/drivers/gpu/drm/amd/amdkfd/kfd_svm.c
>>> index 129ef44f41e9..af7594b1b4c6 100644
>>> --- a/drivers/gpu/drm/amd/amdkfd/kfd_svm.c
>>> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_svm.c
>>> @@ -734,7 +734,9 @@ svm_range_apply_attrs(struct kfd_process *p,
>>> struct svm_range *prange,
>>> case KFD_IOCTL_SVM_ATTR_ACCESS:
>>> case KFD_IOCTL_SVM_ATTR_ACCESS_IN_PLACE:
>>> case KFD_IOCTL_SVM_ATTR_NO_ACCESS:
>>> - *update_mapping = true;
>>> + if (!p->xnack_enabled)
>>> + *update_mapping = true;
>>> +
>>
>> For NO_ACCESS we need to update the mapping to ensure that the PTEs
>> are invalidated. For ACCESS or ACCESS_IN_PLACE we can leave it for a
>> page fault.
>
> For NO_ACCESS, there is todo comment "TODO: unmap ranges from GPU that
> lost access", this should be handled by another patch. This patch only
> address that for XNACK ON, we can setup GPU mapping after page fault,
> without prefaulting and mapping to GPU for ACCESS or ACCESS_IN_PLACE.
OK. Then you'll probably change the same code again in that follow-up
patch. This patch is
Reviewed-by: Felix Kuehling <Felix.Kuehling at amd.com>
>
> Regards,
>
> Philip
>
>>
>> Regards,
>> Felix
>>
>>
>>> gpuidx = kfd_process_gpuidx_from_gpuid(p,
>>> attrs[i].value);
>>> if (attrs[i].type == KFD_IOCTL_SVM_ATTR_NO_ACCESS) {
More information about the amd-gfx
mailing list