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); > } > >