linux/drivers/gpu/drm/amd/amdkfd
Felix Kuehling a44fe9ee05 drm/amdkfd: Fix retry fault drain race conditions
The check for whether to drain retry faults must be under the mmap write
lock to serialize with munmap notifier callbacks.

We were also missing checks on child ranges. To fix that, simplify the
logic by using a flag rather than checking on each prange. That also
allows draining less freqeuntly when many ranges are unmapped at once.

Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
Tested-by: Philip Yang <Philip.Yang@amd.com>
Tested-by: Alex Sierra <Alex.Sierra@amd.com>
Reviewed-by: Philip Yang <Philip.Yang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2021-11-09 17:08:00 -05:00
..
cik_event_interrupt.c drm/amdkfd: Add kernel parameter to stop queue eviction on vm fault 2021-03-23 22:59:22 -04:00
cik_int.h
cik_regs.h
cwsr_trap_handler_gfx8.asm drm/amdkfd: Add aldebaran trap handler support 2021-03-10 00:02:24 -05:00
cwsr_trap_handler_gfx9.asm drm/amdkfd: Fix saving the ACC vgprs for Aldebaran 2021-03-23 22:56:55 -04:00
cwsr_trap_handler_gfx10.asm drm/amdkfd: Fix spurious debug exception on gfx10 2020-08-10 17:26:51 -04:00
cwsr_trap_handler.h drm/amdkfd: Fix saving the ACC vgprs for Aldebaran 2021-03-23 22:56:55 -04:00
Kconfig drm/amdkfd: Add CONFIG_HSA_AMD_SVM 2021-04-20 21:50:35 -04:00
kfd_chardev.c drm/amdkfd: Remove cu mask from struct queue_properties(v2) 2021-10-28 14:26:13 -04:00
kfd_crat.c drm/amdkfd: enable cyan_skillfish KFD 2021-07-23 10:08:01 -04:00
kfd_crat.h
kfd_dbgdev.c drm/amdkfd: dqm fence memory corruption 2021-04-09 16:47:06 -04:00
kfd_dbgdev.h
kfd_dbgmgr.c
kfd_dbgmgr.h drm, iommu: Change type of pasid to u32 2020-09-17 19:21:16 +02:00
kfd_debugfs.c drm/amdkfd: Fix cat debugfs hang_hws file causes system crash bug 2021-04-09 16:42:11 -04:00
kfd_device_queue_manager_cik.c
kfd_device_queue_manager_v9.c drm/amdkfd: add xnack enabled flag to kfd_process 2021-04-20 21:47:41 -04:00
kfd_device_queue_manager_v10.c drm/amdkfd: Use same SQ prefetch setting as amdgpu 2020-10-21 23:06:07 -04:00
kfd_device_queue_manager_vi.c
kfd_device_queue_manager.c drm/amd/amdkfd: Don't sent command to HWS on kfd reset 2021-11-05 14:12:38 -04:00
kfd_device_queue_manager.h drm/amdkfd: Add an optional argument into update queue operation(v2) 2021-10-28 14:26:13 -04:00
kfd_device.c drm/amdkfd: update gfx target version for Renoir 2021-11-03 12:22:07 -04:00
kfd_doorbell.c drm/amdkfd: Move process doorbell allocation into kfd device 2020-09-22 12:25:02 -04:00
kfd_events.c drm/amdkfd: fix a resource leakage issue 2021-05-19 22:44:12 -04:00
kfd_events.h drm, iommu: Change type of pasid to u32 2020-09-17 19:21:16 +02:00
kfd_flat_memory.c drm/amdkfd: lower the VAs base offset to 8KB 2021-11-09 17:08:00 -05:00
kfd_int_process_v9.c amd/amdkfd: add ras page retirement handling for sq/sdma (v3) 2021-10-04 15:22:57 -04:00
kfd_interrupt.c
kfd_iommu.c IOMMU Updates for Linux v5.13 2021-05-01 09:33:00 -07:00
kfd_iommu.h drm/amdkfd: fix build error with AMD_IOMMU_V2=m 2021-03-23 23:28:11 -04:00
kfd_kernel_queue.c drm/amdkfd: Remove cu mask from struct queue_properties(v2) 2021-10-28 14:26:13 -04:00
kfd_kernel_queue.h
kfd_migrate.c drm/amdkfd: avoid recursive lock in migrations back to RAM 2021-11-05 14:10:58 -04:00
kfd_migrate.h drm/amdkfd: fix svm_migrate_fini warning 2021-09-23 16:34:57 -04:00
kfd_module.c drm/amdgpu: Fix handling of KFD initialization failures 2020-09-22 12:24:11 -04:00
kfd_mqd_manager_cik.c drm/amdkfd: Remove cu mask from struct queue_properties(v2) 2021-10-28 14:26:13 -04:00
kfd_mqd_manager_v9.c drm/amdkfd: Remove cu mask from struct queue_properties(v2) 2021-10-28 14:26:13 -04:00
kfd_mqd_manager_v10.c drm/amdkfd: Remove cu mask from struct queue_properties(v2) 2021-10-28 14:26:13 -04:00
kfd_mqd_manager_vi.c drm/amdkfd: Remove cu mask from struct queue_properties(v2) 2021-10-28 14:26:13 -04:00
kfd_mqd_manager.c drm/amdkfd: Account for SH/SE count when setting up cu masks. 2021-08-26 13:56:01 -04:00
kfd_mqd_manager.h drm/amdkfd: Add an optional argument into update queue operation(v2) 2021-10-28 14:26:13 -04:00
kfd_packet_manager_v9.c drm/amdkfd: add per-vmid-debug map_process_support 2021-04-23 17:16:05 -04:00
kfd_packet_manager_vi.c drm/amdkfd: dqm fence memory corruption 2021-04-09 16:47:06 -04:00
kfd_packet_manager.c drm/amdkfd: enable cyan_skillfish KFD 2021-07-23 10:08:01 -04:00
kfd_pasid.c drm, iommu: Change type of pasid to u32 2020-09-17 19:21:16 +02:00
kfd_pm4_headers_ai.h
kfd_pm4_headers_aldebaran.h drm/amdkfd: add per-vmid-debug map_process_support 2021-04-23 17:16:05 -04:00
kfd_pm4_headers_diq.h
kfd_pm4_headers_vi.h
kfd_pm4_headers.h
kfd_pm4_opcodes.h
kfd_priv.h drm/amdkfd: Fix retry fault drain race conditions 2021-11-09 17:08:00 -05:00
kfd_process_queue_manager.c drm/amdkfd: Remove cu mask from struct queue_properties(v2) 2021-10-28 14:26:13 -04:00
kfd_process.c drm/amd/amdkfd: Don't sent command to HWS on kfd reset 2021-11-05 14:12:38 -04:00
kfd_queue.c
kfd_smi_events.c drm/amdkfd: Update SMI throttle event bitmask 2021-07-23 10:08:00 -04:00
kfd_smi_events.h drm/amdkfd: Update SMI throttle event bitmask 2021-07-23 10:08:00 -04:00
kfd_svm.c drm/amdkfd: Fix retry fault drain race conditions 2021-11-09 17:08:00 -05:00
kfd_svm.h drm/amdkfd: export svm_range_list_lock_and_flush_work 2021-10-13 14:14:34 -04:00
kfd_topology.c drm/amdkfd: map gpu hive id to xgmi connected cpu 2021-10-19 17:14:40 -04:00
kfd_topology.h drm/amdkfd: Expose GFXIP engine version to sysfs 2021-08-05 21:18:00 -04:00
Makefile drm/amdkfd: Add CONFIG_HSA_AMD_SVM 2021-04-20 21:50:35 -04:00
soc15_int.h drm/amdkfd: add sdma poison consumption handling 2021-06-07 14:57:24 -04:00