diff options
| author | Lijo Lazar <lijo.lazar@amd.com> | 2026-09-08 15:46:08 +0530 |
|---|---|---|
| committer | Alex Deucher <alexander.deucher@amd.com> | 2026-09-17 11:38:29 -0400 |
| commit | 09b336c57518f363eeca7d1e2f8da041fcb613ae (patch) | |
| tree | 3c76e11fe5cb118bc2b0f407a432a164545a60e0 /tools/perf/scripts/python/task-analyzer.py | |
| parent | 15b2b067445617f4f789f56cc566a72f88d72345 (diff) | |
| download | linux-09b336c57518f363eeca7d1e2f8da041fcb613ae.tar.gz linux-09b336c57518f363eeca7d1e2f8da041fcb613ae.zip | |
drm/amdgpu: Fix kfd device lock during partition
The compute partition switch locked the kfd device, freed it during the
pre-switch teardown, and then unlocked at the end - by which point
adev->kfd.dev referenced the newly reinitialized device, so the unlock
landed on the wrong object and the per-device lock was never balanced.
Add a dedicated prepare function to unwind and clean up kfd device.
Don't use the global lock during teardown. A new device is created after
partition switch; hence there is no need to do 'unlock' on a different
object after the switch.
User is not supposed to run any process on the device during partition
switch. Keep acquire/release semantics for init_complete so that the
device remains unavailable for a process till its reinitialization is
complete.
Signed-off-by: Lijo Lazar <lijo.lazar@amd.com>
Reviewed-by: Mukul Joshi <mukul.joshi@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'tools/perf/scripts/python/task-analyzer.py')
0 files changed, 0 insertions, 0 deletions
