[PATCH] drm/amdgpu/gfx: keep all compute queues on the same pipe

Andres Rodriguez andresx7 at gmail.com
Tue Jul 11 17:23:38 UTC 2017


Hey Alex,

Which apps are having perf problems?

Also, is the issue present when the queue gets mapped to pipe0? (i.e. it 
the perf regression only happens on pipe1+)

Regards,
Andres

On 2017-07-11 11:13 AM, Alex Deucher wrote:
> Spreading them causes performance regressions using compute
> queues.
> 
> Cc: Jim Qu <jim.qu at amd.com>
> Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c
> index e26108a..4f6c68f 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c
> @@ -125,7 +125,8 @@ void amdgpu_gfx_compute_queue_acquire(struct amdgpu_device *adev)
>   		if (mec >= adev->gfx.mec.num_mec)
>   			break;
>   
> -		if (adev->gfx.mec.num_mec > 1) {
> +		/* FIXME: spreading the queues across pipes causes perf regressions */
> +		if (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