[PATCH v5 3/6] drm/amdgpu: Evict BOs from same process for contiguous allocation
Felix Kuehling
felix.kuehling at amd.com
Tue Apr 23 22:16:06 UTC 2024
On 2024-04-23 11:28, Philip Yang wrote:
> When TTM failed to alloc VRAM, TTM try evict BOs from VRAM to system
> memory then retry the allocation, this skips the KFD BOs from the same
> process because KFD require all BOs are resident for user queues.
>
> If TTM with TTM_PL_FLAG_CONTIGUOUS flag to alloc contiguous VRAM, allow
> TTM evict KFD BOs from the same process, this will evict the user queues
> first, and restore the queues later after contiguous VRAM allocation.
>
> Signed-off-by: Philip Yang <Philip.Yang at amd.com>
Reviewed-by: Felix Kuehling <felix.kuehling at amd.com>
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
> index 851509c6e90e..c907d6005641 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
> @@ -1398,7 +1398,8 @@ static bool amdgpu_ttm_bo_eviction_valuable(struct ttm_buffer_object *bo,
> */
> dma_resv_for_each_fence(&resv_cursor, bo->base.resv,
> DMA_RESV_USAGE_BOOKKEEP, f) {
> - if (amdkfd_fence_check_mm(f, current->mm))
> + if (amdkfd_fence_check_mm(f, current->mm) &&
> + !(place->flags & TTM_PL_FLAG_CONTIGUOUS))
> return false;
> }
>
More information about the amd-gfx
mailing list