[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