[PATCH 00/17] Process Isolation Support
Alex Deucher
alexander.deucher at amd.com
Thu Aug 15 00:04:44 UTC 2024
This patch set enables process isolation mode which
serializes access to the graphics block between processes.
When this mode is active, a cleaner shader is run between
processes to clear shader LDS (Local Data Store) and GPRs
(General Purpose Registers). A sysfs interface is
also available to manually clear LDS and GPRs if you
for example want to clear LDS and GPRs when a user logs out.
This includes support for GFX 9.4.3 and 9.4.4. Support for
other GPUs is in progress and will be available when ready.
Alex Deucher (2):
drm/amdgpu: handle enforce isolation on non-0 gfxhub
drm/amdgpu: Emit cleaner shader at end of IB submission
Amber Lin (2):
drm/amdkfd: APIs to stop/start KFD scheduling
drm/amdkfd: Enable processes isolation on gfx9
Srinivasan Shanmugam (13):
drm/amdgpu: Add infrastructure for Cleaner Shader feature
drm/amdgpu: Make enforce_isolation setting per GPU
drm/amdgpu: Enforce isolation as part of the job
drm/amdgpu: Add enforce_isolation sysfs attribute
drm/amdgpu: Add sysfs interface for running cleaner shader
drm/amdgpu: Add PACKET3_RUN_CLEANER_SHADER for cleaner shader
execution
drm/amdgpu/gfx9: Implement cleaner shader support for GFX9 hardware
drm/amdgpu/gfx9: Implement cleaner shader support for GFX9.4.3
hardware
drm/amdgpu/gfx9: Add cleaner shader for GFX9.4.3
drm/amdgpu/gfx9: Add cleaner shader support for GFX9.4.4 hardware
drm/amdgpu: Implement Enforce Isolation Handler for KGD/KFD
serialization
drm/amdgpu/gfx9: Apply Isolation Enforcement to GFX & Compute rings
drm/amdgpu/gfx_v9_4_3: Apply Isolation Enforcement to GFX & Compute
rings
drivers/gpu/drm/amd/amdgpu/amdgpu.h | 6 +
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c | 18 +
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h | 14 +
drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 3 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 23 +
drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c | 437 ++++++++++++++++++
drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.h | 31 ++
drivers/gpu/drm/amd/amdgpu/amdgpu_ids.c | 17 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_ids.h | 3 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_job.h | 3 +
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h | 1 +
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 6 +
drivers/gpu/drm/amd/amdgpu/aqua_vanjaram.c | 4 +
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | 51 +-
.../drm/amd/amdgpu/gfx_v9_0_cleaner_shader.h | 26 ++
drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c | 60 ++-
.../amd/amdgpu/gfx_v9_4_3_cleaner_shader.asm | 153 ++++++
.../amd/amdgpu/gfx_v9_4_3_cleaner_shader.h | 64 +++
drivers/gpu/drm/amd/amdgpu/soc15d.h | 4 +
drivers/gpu/drm/amd/amdkfd/kfd_device.c | 39 ++
.../drm/amd/amdkfd/kfd_device_queue_manager.c | 58 ++-
.../drm/amd/amdkfd/kfd_device_queue_manager.h | 9 +
.../drm/amd/amdkfd/kfd_packet_manager_v9.c | 14 +-
.../gpu/drm/amd/amdkfd/kfd_pm4_headers_ai.h | 5 +-
.../amd/amdkfd/kfd_pm4_headers_aldebaran.h | 2 +-
25 files changed, 1028 insertions(+), 23 deletions(-)
create mode 100644 drivers/gpu/drm/amd/amdgpu/gfx_v9_0_cleaner_shader.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3_cleaner_shader.asm
create mode 100644 drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3_cleaner_shader.h
--
2.46.0
More information about the amd-gfx
mailing list