• Felix Kuehling's avatar
    drm/amdkfd: add svm range validate timestamp · 564d2b92
    Felix Kuehling authored
    With xnack on, add validate timestamp in order to handle GPU vm fault
    from multiple GPUs.
    
    If GPU retry fault need migrate the range to the best restore location,
    use range validate timestamp to record system timestamp after range is
    restored to update GPU page table.
    
    Because multiple pages of same range have multiple retry fault, define
    AMDGPU_SVM_RANGE_RETRY_FAULT_PENDING to the long time period that
    pending retry fault may still comes after page table update, to skip
    duplicate retry fault of same range.
    
    If difference between system timestamp and range last validate timestamp
    is bigger than AMDGPU_SVM_RANGE_RETRY_FAULT_PENDING, that means the
    retry fault is from another GPU, then continue to handle retry fault
    recover.
    Signed-off-by: default avatarPhilip Yang <Philip.Yang@amd.com>
    Reviewed-by: default avatarFelix Kuehling <Felix.Kuehling@amd.com>
    Signed-off-by: default avatarFelix Kuehling <Felix.Kuehling@amd.com>
    Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
    564d2b92
kfd_svm.c 77.5 KB