Bye the way: if you want to avoid IB test pending by GPU recover, you can move IB test out of TDR routine, so IB test will execute after GPU scheduler
resumed with TDR completed .
_____________________________________
Monk Liu|GPU Virtualization Team |AMD
From: Pan, Xinhui <Xinhui.Pan@xxxxxxx>
Sent: Thursday, March 26, 2020 2:02 PM
To: amd-gfx@xxxxxxxxxxxxxxxxxxxxx; Liu, Monk <Monk.Liu@xxxxxxx>
Cc: Deucher, Alexander <Alexander.Deucher@xxxxxxx>; Kuehling, Felix <Felix.Kuehling@xxxxxxx>; Koenig, Christian <Christian.Koenig@xxxxxxx>
Subject: Re: [RFC PATCH 0/2] add direct IB pool
[AMD Official Use Only - Internal Distribution Only]
yes, IB test and vram restore will alloc IBs.
I hit this issue for quite a long time ago. We test benchmarks on ARM server which is running android.
Hunders of processes hit too many issues. Panic and memory corruption everywhere.
Now i have a littke time to fix this deadlock.
if you want to repro it, set gpu timeout to 50ms,then
run vulkan,ocl, amdgputest, etc together.
I believe you will see more weird issues.
That sounds a roughly doable plan to me , although we didn't hit this issue in our virtualization stress test but like a possible issue.
>>> So the ring test above got stuck if no ib to alloc.
Why there is IB alloc happened in ring test ? I remember there is no IB allocated for ring test, are you referring to IB test ?
_____________________________________
Monk Liu|GPU Virtualization Team |AMD
-----Original Message-----
From: amd-gfx <amd-gfx-bounces@xxxxxxxxxxxxxxxxxxxxx> On Behalf Of xinhui pan
Sent: Thursday, March 26, 2020 10:02 AM
To: amd-gfx@xxxxxxxxxxxxxxxxxxxxx
Cc: Deucher, Alexander <Alexander.Deucher@xxxxxxx>; Kuehling, Felix <Felix.Kuehling@xxxxxxx>; Pan, Xinhui <Xinhui.Pan@xxxxxxx>;
Koenig, Christian <Christian.Koenig@xxxxxxx>
Subject: [RFC PATCH 0/2] add direct IB pool
druing gpu recovery, we alloc ibs for ring tests to test if recovery succeed or not.
As gpu recovery parked the gpu scheduler thread, any pending jobs hold the ib resource has no chance to free. So the ring test above got stuck if no ib to alloc.
If we schedule IBs directly in job_submit_direct, we can alloc ibs in the new ib pool. It should have less contention.
If the IB could be freed in time, IOW, not depending on any scheduler, nor any other blocking code. It is better to alloc ibs in direct pool.
xinhui pan (2):
drm/amdgpu: add direct ib pool
drm/amdgpu: use new job alloc variation if possible
drivers/gpu/drm/amd/amdgpu/amdgpu.h | 1 +
drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 2 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c | 12 ++++++++++--
drivers/gpu/drm/amd/amdgpu/amdgpu_job.c | 8 +++++++-
drivers/gpu/drm/amd/amdgpu/amdgpu_job.h | 3 ++-
drivers/gpu/drm/amd/amdgpu/amdgpu_jpeg.c | 2 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 2 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c | 2 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c | 4 ++--
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c | 6 +++---
drivers/gpu/drm/amd/amdgpu/amdgpu_vm_sdma.c | 3 ++-
drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c | 4 ++--
drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c | 4 ++--
13 files changed, 35 insertions(+), 18 deletions(-)
--
2.17.1
_______________________________________________
amd-gfx mailing list
amd-gfx@xxxxxxxxxxxxxxxxxxxxx
https://nam11.safelinks.protection.outlook.com/?url="">
|