[PATCH] drm/amdgpu: schedule GPU reset event work function
Somalapuram Amaranath
Amaranath.Somalapuram at amd.com
Thu Mar 10 09:07:02 UTC 2022
Schedule work function with valid PID, process name and
vram lost status during a GPU reset/recovery.
Signed-off-by: Somalapuram Amaranath <Amaranath.Somalapuram at amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
index 02843479e1ef..7ca4f52e393f 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -4805,6 +4805,19 @@ int amdgpu_do_asic_reset(struct list_head *device_list_handle,
goto out;
vram_lost = amdgpu_device_check_vram_lost(tmp_adev);
+ if (reset_context->job && reset_context->job->vm) {
+ tmp_adev->reset_event_info.pid =
+ reset_context->job->vm->task_info.pid;
+ memset(tmp_adev->reset_event_info.pname, 0, TASK_COMM_LEN);
+ strcpy(tmp_adev->reset_event_info.pname,
+ reset_context->job->vm->task_info.process_name);
+ } else {
+ tmp_adev->reset_event_info.pid = 0;
+ memset(tmp_adev->reset_event_info.pname, 0, TASK_COMM_LEN);
+ }
+
+ tmp_adev->reset_event_info.flags = vram_lost;
+ schedule_work(&tmp_adev->gpu_reset_event_work);
if (vram_lost) {
DRM_INFO("VRAM is lost due to GPU reset!\n");
amdgpu_inc_vram_lost(tmp_adev);
--
2.32.0
More information about the amd-gfx
mailing list