linux/drivers/gpu/drm/amd/amdkfd
Felix Kuehling abb208a8d4 drm/amdkfd: Use ref count to prevent kfd_process destruction
Use a reference counter instead of a lock to prevent process
destruction while functions running out of process context are using
the kfd_process structure. In many cases these functions don't need
the structure to be locked. In the few cases that really do need the
process lock, take it explicitly.

This helps simplify lock dependencies between the process lock and
other locks, particularly amdgpu and mm_struct locks. This will be
important when amdgpu calls back to amdkfd for memory evictions.

Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Oded Gabbay <oded.gabbay@gmail.com>
Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com>
2017-11-27 18:29:52 -05:00
..
cik_event_interrupt.c drm/amdkfd: Use IH context ID for signal lookup 2017-10-27 19:35:28 -04:00
cik_int.h drm/amdkfd: Add SDMA trap src id to the KFD isr wanted list 2017-10-27 19:35:18 -04:00
cik_regs.h drm/amdkfd: Use generic defines in new amd headers 2015-07-20 09:16:49 +03:00
cwsr_trap_handler_gfx8.asm drm/amdkfd: Add trap handler for CWSR 2017-11-14 16:41:18 -05:00
Kconfig drm/radeon: deprecate and remove KFD interface 2017-10-30 14:16:21 +01:00
kfd_chardev.c drm/amdkfd: Add crash protection in debugger register path 2017-11-27 18:29:44 -05:00
kfd_crat.h
kfd_dbgdev.c drm/amdkfd: Hardware DWORD size is 4 bytes 2017-11-06 14:52:27 -05:00
kfd_dbgdev.h drm/amdkfd: avoid CONFIG_ prefix for non-Kconfig symbols 2015-06-06 20:48:34 +03:00
kfd_dbgmgr.c drm/amdkfd: Handle remaining BUG_ONs more gracefully v2 2017-08-15 23:00:12 -04:00
kfd_dbgmgr.h drm/amdkfd: Clean up KFD style errors and warnings v2 2017-08-15 23:00:04 -04:00
kfd_debugfs.c drm/amdkfd: Add debugfs support to KFD 2017-11-27 18:29:49 -05:00
kfd_device_queue_manager_cik.c drm/amdkfd: Cleanup DQM ASIC-specific ops 2017-11-01 19:21:31 -04:00
kfd_device_queue_manager_vi.c drm/amdkfd: Cleanup DQM ASIC-specific ops 2017-11-01 19:21:31 -04:00
kfd_device_queue_manager.c drm/amdkfd: Add debugfs support to KFD 2017-11-27 18:29:49 -05:00
kfd_device_queue_manager.h drm/amdkfd: Delete a useless parameter from create_queue function pointer 2017-11-24 18:10:54 -05:00
kfd_device.c drm/amdkfd: map multiple processes to HW scheduler 2017-11-27 18:29:45 -05:00
kfd_doorbell.c drm/amdkfd: Fix printing pointer cast 2017-12-04 06:50:17 -05:00
kfd_events.c drm/amdkfd: Use ref count to prevent kfd_process destruction 2017-11-27 18:29:52 -05:00
kfd_events.h drm/amdkfd: Simplify event ID and signal slot management 2017-10-27 19:35:27 -04:00
kfd_flat_memory.c drm/amdkfd: Change x==NULL/false references to !x 2017-08-15 23:00:06 -04:00
kfd_interrupt.c drm/amdkfd: use a high priority workqueue for IH work 2017-10-27 19:35:34 -04:00
kfd_kernel_queue_cik.c drm/amdkfd: Add initial VI support for KQ 2014-12-02 16:38:57 +02:00
kfd_kernel_queue_vi.c drm/amdkfd: Add initial VI support for KQ 2014-12-02 16:38:57 +02:00
kfd_kernel_queue.c drm/amdkfd: Hardware DWORD size is 4 bytes 2017-11-06 14:52:27 -05:00
kfd_kernel_queue.h drm/amdkfd: Remove sync_with_hw() from amdkfd 2015-01-15 12:07:48 +02:00
kfd_module.c drm/amdkfd: Add debugfs support to KFD 2017-11-27 18:29:49 -05:00
kfd_mqd_manager_cik.c drm/amdkfd: Add debugfs support to KFD 2017-11-27 18:29:49 -05:00
kfd_mqd_manager_vi.c drm/amdkfd: Add debugfs support to KFD 2017-11-27 18:29:49 -05:00
kfd_mqd_manager.c drm/amdkfd: Reuse CHIP_* from amdgpu v2 2017-09-20 18:10:19 -04:00
kfd_mqd_manager.h drm/amdkfd: Add debugfs support to KFD 2017-11-27 18:29:49 -05:00
kfd_packet_manager.c drm/amdkfd: Add debugfs support to KFD 2017-11-27 18:29:49 -05:00
kfd_pasid.c drm/amdkfd: Use PASID manager from KGD 2017-09-26 13:07:04 -04:00
kfd_pm4_headers_diq.h drm/amdkfd: Add skeleton H/W debugger module support 2015-06-03 11:32:28 +03:00
kfd_pm4_headers_vi.h drm/amdkfd: Update PM4 packet headers 2017-08-15 23:00:15 -04:00
kfd_pm4_headers.h drm/amdkfd: Update PM4 packet headers 2017-08-15 23:00:15 -04:00
kfd_pm4_opcodes.h amdkfd: Add kernel queue module 2014-07-17 00:45:35 +03:00
kfd_priv.h drm/amdkfd: Use ref count to prevent kfd_process destruction 2017-11-27 18:29:52 -05:00
kfd_process_queue_manager.c drm/amdkfd: Add debugfs support to KFD 2017-11-27 18:29:49 -05:00
kfd_process.c drm/amdkfd: Use ref count to prevent kfd_process destruction 2017-11-27 18:29:52 -05:00
kfd_queue.c drm/amdkfd: Remove BUG_ONs for NULL pointer arguments 2017-08-15 23:00:09 -04:00
kfd_topology.c drm/amdkfd: Add debugfs support to KFD 2017-11-27 18:29:49 -05:00
kfd_topology.h drm/amdkfd: Set correct doorbell packet type for Carrizo 2015-07-20 09:16:49 +03:00
Makefile drm/amdkfd: Add debugfs support to KFD 2017-11-27 18:29:49 -05:00