Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/amdgpu: no job timeout setting on compute queues

Under some heavy computing environment(e.g. dgemm test), it
takes the asic over 10+ seconds to finish the dispatched job
which will trigger the timeout.

It's quite confusing although it does not seem to bring any
real problems. As a quick workround, we choose to not enfoce
the timeout setting on compute queues.

Signed-off-by: Evan Quan <evan.quan@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

authored by

Evan Quan and committed by
Alex Deucher
f0c2b16b dc53d543

+3 -1
+3 -1
drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c
··· 435 435 if (ring->funcs->type != AMDGPU_RING_TYPE_KIQ) { 436 436 r = drm_sched_init(&ring->sched, &amdgpu_sched_ops, 437 437 num_hw_submission, amdgpu_job_hang_limit, 438 - msecs_to_jiffies(amdgpu_lockup_timeout), ring->name); 438 + (ring->funcs->type == AMDGPU_RING_TYPE_COMPUTE) ? 439 + MAX_SCHEDULE_TIMEOUT : msecs_to_jiffies(amdgpu_lockup_timeout), 440 + ring->name); 439 441 if (r) { 440 442 DRM_ERROR("Failed to create scheduler on ring %s.\n", 441 443 ring->name);