[PATCH 2/2] drm/amdgpu/gfx9: new queue policy, take first 2 queues of each pipe
Andres Rodriguez
andresx7 at gmail.com
Mon Jun 5 17:16:52 UTC 2017
Reviewed-by: Andres Rodriguez <andresx7 at gmail.com>
-Andres
On 2017-06-05 11:06 AM, Alex Deucher wrote:
> Instead of taking the first pipe and giving the rest to kfd, take the
> first 2 queues of each pipe.
>
> Effectively, amdgpu and amdkfd own the same number of queues. But
> because the queues are spread over multiple pipes the hardware will be
> able to better handle concurrent compute workloads.
>
> amdgpu goes from 1 pipe to 4 pipes, i.e. from 1 compute threads to 4
> amdkfd goes from 3 pipe to 4 pipes, i.e. from 3 compute threads to 4
>
> gfx9 was missed when this patch set was rebased to include gfx9.
>
> Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
> ---
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
> index 0c48f6c..276dc06 100644
> --- a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
> @@ -873,8 +873,8 @@ static void gfx_v9_0_compute_queue_acquire(struct amdgpu_device *adev)
> if (mec >= adev->gfx.mec.num_mec)
> break;
>
> - /* policy: amdgpu owns all queues in the first pipe */
> - if (mec == 0 && pipe == 0)
> + /* policy: amdgpu owns the first two queues of the first MEC */
> + if (mec == 0 && queue < 2)
> set_bit(i, adev->gfx.mec.queue_bitmap);
> }
>
>
More information about the amd-gfx
mailing list