]> www.infradead.org Git - nvme.git/commit
drm/amdkfd: fix some race conditions in vram buffer alloc/free of svm code
authorXiaogang Chen <xiaogang.chen@amd.com>
Wed, 20 Sep 2023 16:02:51 +0000 (11:02 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 26 Sep 2023 21:00:02 +0000 (17:00 -0400)
commit7bfaa160caed8192f8262c4638f552cad94bcf5a
treeb11419d98ad8c54a5770aa286ca3c8b759399e4b
parent101b8104307eac734f2dfa4d3511430b0b631c73
drm/amdkfd: fix some race conditions in vram buffer alloc/free of svm code

This patch fixes:
1: ref number of prange's svm_bo got decreased by an async call from hmm. When
wait svm_bo of prange got released we shoul also wait prang->svm_bo become NULL,
otherwise prange->svm_bo may be set to null after allocate new vram buffer.

2: During waiting svm_bo of prange got released in a while loop should reschedule
current task to give other tasks oppotunity to run, specially the the workque
task that handles svm_bo ref release, otherwise we may enter to softlock.

Signed-off-by: Xiaogang.Chen <xiaogang.chen@amd.com>
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdkfd/kfd_svm.c