[PATCH] drm/amdgpu: Raname DRM schedulers in amdgpu TTM
Christian König
christian.koenig at amd.com
Fri Jun 9 05:46:50 UTC 2023
Am 07.06.23 um 17:26 schrieb Mukul Joshi:
> Rename mman.entity to mman.high_pr to make the distinction
> clearer that this is a high priority scheduler. Similarly,
> rename the recently added mman.delayed to mman.low_pr to
> make it clear it is a low priority scheduler.
> No functional change in this patch.
>
> Signed-off-by: Mukul Joshi <mukul.joshi at amd.com>
Reviewed-by: Christian König <christian.koenig at amd.com>
Thanks,
Christian.
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 18 +++++++++---------
> drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h | 8 ++++----
> drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c | 2 +-
> drivers/gpu/drm/amd/amdkfd/kfd_migrate.c | 2 +-
> 4 files changed, 15 insertions(+), 15 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
> index 8884c043cf76..8a55554ed69a 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
> @@ -228,7 +228,7 @@ static int amdgpu_ttm_map_buffer(struct ttm_buffer_object *bo,
> num_dw = ALIGN(adev->mman.buffer_funcs->copy_num_dw, 8);
> num_bytes = num_pages * 8 * AMDGPU_GPU_PAGES_IN_CPU_PAGE;
>
> - r = amdgpu_job_alloc_with_ib(adev, &adev->mman.entity,
> + r = amdgpu_job_alloc_with_ib(adev, &adev->mman.high_pr,
> AMDGPU_FENCE_OWNER_UNDEFINED,
> num_dw * 4 + num_bytes,
> AMDGPU_IB_POOL_DELAYED, &job);
> @@ -1460,7 +1460,7 @@ static int amdgpu_ttm_access_memory_sdma(struct ttm_buffer_object *bo,
> memcpy(adev->mman.sdma_access_ptr, buf, len);
>
> num_dw = ALIGN(adev->mman.buffer_funcs->copy_num_dw, 8);
> - r = amdgpu_job_alloc_with_ib(adev, &adev->mman.entity,
> + r = amdgpu_job_alloc_with_ib(adev, &adev->mman.high_pr,
> AMDGPU_FENCE_OWNER_UNDEFINED,
> num_dw * 4, AMDGPU_IB_POOL_DELAYED,
> &job);
> @@ -2036,7 +2036,7 @@ void amdgpu_ttm_set_buffer_funcs_status(struct amdgpu_device *adev, bool enable)
>
> ring = adev->mman.buffer_funcs_ring;
> sched = &ring->sched;
> - r = drm_sched_entity_init(&adev->mman.entity,
> + r = drm_sched_entity_init(&adev->mman.high_pr,
> DRM_SCHED_PRIORITY_KERNEL, &sched,
> 1, NULL);
> if (r) {
> @@ -2045,7 +2045,7 @@ void amdgpu_ttm_set_buffer_funcs_status(struct amdgpu_device *adev, bool enable)
> return;
> }
>
> - r = drm_sched_entity_init(&adev->mman.delayed,
> + r = drm_sched_entity_init(&adev->mman.low_pr,
> DRM_SCHED_PRIORITY_NORMAL, &sched,
> 1, NULL);
> if (r) {
> @@ -2054,8 +2054,8 @@ void amdgpu_ttm_set_buffer_funcs_status(struct amdgpu_device *adev, bool enable)
> goto error_free_entity;
> }
> } else {
> - drm_sched_entity_destroy(&adev->mman.entity);
> - drm_sched_entity_destroy(&adev->mman.delayed);
> + drm_sched_entity_destroy(&adev->mman.high_pr);
> + drm_sched_entity_destroy(&adev->mman.low_pr);
> dma_fence_put(man->move);
> man->move = NULL;
> }
> @@ -2071,7 +2071,7 @@ void amdgpu_ttm_set_buffer_funcs_status(struct amdgpu_device *adev, bool enable)
> return;
>
> error_free_entity:
> - drm_sched_entity_destroy(&adev->mman.entity);
> + drm_sched_entity_destroy(&adev->mman.high_pr);
> }
>
> static int amdgpu_ttm_prepare_job(struct amdgpu_device *adev,
> @@ -2086,8 +2086,8 @@ static int amdgpu_ttm_prepare_job(struct amdgpu_device *adev,
> AMDGPU_IB_POOL_DIRECT :
> AMDGPU_IB_POOL_DELAYED;
> int r;
> - struct drm_sched_entity *entity = delayed ? &adev->mman.delayed :
> - &adev->mman.entity;
> + struct drm_sched_entity *entity = delayed ? &adev->mman.low_pr :
> + &adev->mman.high_pr;
> r = amdgpu_job_alloc_with_ib(adev, entity,
> AMDGPU_FENCE_OWNER_UNDEFINED,
> num_dw * 4, pool, job);
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h
> index e82b1edee7a4..6d0d66e40db9 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h
> @@ -59,10 +59,10 @@ struct amdgpu_mman {
> bool buffer_funcs_enabled;
>
> struct mutex gtt_window_lock;
> - /* Scheduler entity for buffer moves */
> - struct drm_sched_entity entity;
> - /* Scheduler entity for VRAM clearing */
> - struct drm_sched_entity delayed;
> + /* High priority scheduler entity for buffer moves */
> + struct drm_sched_entity high_pr;
> + /* Low priority scheduler entity for VRAM clearing */
> + struct drm_sched_entity low_pr;
>
> struct amdgpu_vram_mgr vram_mgr;
> struct amdgpu_gtt_mgr gtt_mgr;
> diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c
> index b2e42f1b0f12..0c8a47989576 100644
> --- a/drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c
> @@ -382,7 +382,7 @@ static void gmc_v10_0_flush_gpu_tlb(struct amdgpu_device *adev, uint32_t vmid,
> * translation. Avoid this by doing the invalidation from the SDMA
> * itself.
> */
> - r = amdgpu_job_alloc_with_ib(ring->adev, &adev->mman.entity,
> + r = amdgpu_job_alloc_with_ib(ring->adev, &adev->mman.high_pr,
> AMDGPU_FENCE_OWNER_UNDEFINED,
> 16 * 4, AMDGPU_IB_POOL_IMMEDIATE,
> &job);
> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_migrate.c b/drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
> index 58d95fb99595..709ac885ca6d 100644
> --- a/drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
> @@ -64,7 +64,7 @@ svm_migrate_gart_map(struct amdgpu_ring *ring, uint64_t npages,
> num_dw = ALIGN(adev->mman.buffer_funcs->copy_num_dw, 8);
> num_bytes = npages * 8;
>
> - r = amdgpu_job_alloc_with_ib(adev, &adev->mman.entity,
> + r = amdgpu_job_alloc_with_ib(adev, &adev->mman.high_pr,
> AMDGPU_FENCE_OWNER_UNDEFINED,
> num_dw * 4 + num_bytes,
> AMDGPU_IB_POOL_DELAYED,
More information about the amd-gfx
mailing list