[PATCH] drm/amdgpu/gfx: keep all compute queues on the same pipe
Alex Deucher
alexdeucher at gmail.com
Wed Jul 12 15:56:06 UTC 2017
On Tue, Jul 11, 2017 at 1:23 PM, Andres Rodriguez <andresx7 at gmail.com> wrote:
> 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+)
It's a couple of OCL mandlebrot tests. We are only seeing the
regression on Polaris 11, but it's a 40% drop. Investigating further.
Alex
>
> 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