Am 27.04.2017 um 11:08 schrieb Zhang, Jerry (Junwei):
On 04/27/2017 04:25 PM, Chunming Zhou wrote:
the case could happen when gpu reset:
1. when gpu reset, cs can be continue until sw queue is full, then push job will wait with holding pd reservation. 2. gpu_reset routine will also need pd reservation to restore page table from their shadow. 3. cs is waiting for gpu_reset complete, but gpu reset is waiting for cs releases reservation.

Change-Id: I0f66d04b2bef3433035109623c8a5c5992c84202
Signed-off-by: Chunming Zhou <[email protected]>
---
  drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 2 ++
  1 file changed, 2 insertions(+)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
index 9edb1a4..a6722a7 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
@@ -1076,6 +1076,7 @@ static int amdgpu_cs_submit(struct amdgpu_cs_parser *p,
      amdgpu_job_free_resources(job);

      trace_amdgpu_cs_ioctl(job);
+    amdgpu_cs_parser_fini(p, 0, true);

Please confirm:
It will not free/release more things that may be accessed in job working process, as cs_parse_fini free so many things related to parser.

Yeah, that indeed won't work. amdgpu_cs_parser_fini() does:

        if (parser->job)
                amdgpu_job_free(parser->job);

And amdgpu_cs_submit() sets the fence, so it must be called before amdgpu_cs_parser_fini().

But apart from that this is a rather nifty idea. What was the problem with the initial patch?


Or we can just release the pd reservation here?

We could run into problem with the reservation ticked with that. So I would want to avoid that.

Christian.


Jerry

amd_sched_entity_push_job(&job->base);

      return 0;
@@ -1130,6 +1131,7 @@ int amdgpu_cs_ioctl(struct drm_device *dev, void *data, struct drm_file *filp)

      r = amdgpu_cs_submit(&parser, cs);

+    return r;
  out:
      amdgpu_cs_parser_fini(&parser, r, reserved_buffers);
      return r;

_______________________________________________
amd-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/amd-gfx


_______________________________________________
amd-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to