drm/amdkfd: GFP_NOIO while holding locks taken in MMU notifier
authorFelix Kuehling <Felix.Kuehling@amd.com>
Fri, 23 Mar 2018 19:32:31 +0000 (15:32 -0400)
committerOded Gabbay <oded.gabbay@gmail.com>
Fri, 23 Mar 2018 19:32:31 +0000 (15:32 -0400)
commitd1853f42b63da94fa0147091d22bf5675b0ff89b
tree550960655a90d0a64220ad68a2723362b472ab57
parent6e08e0995b8f339fd2a7ee4fa11f17396405ef60
drm/amdkfd: GFP_NOIO while holding locks taken in MMU notifier

When an MMU notifier runs in memory reclaim context, it can deadlock
trying to take locks that are already held in the thread causing the
memory reclaim. The solution is to avoid memory reclaim while holding
locks that are taken in MMU notifiers by using GFP_NOIO.

This commit fixes memory allocations done while holding the dqm->lock
which is needed in the MMU notifier (dqm->ops.evict_process_queues).

Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
Reviewed-by: Oded Gabbay <oded.gabbay@gmail.com>
Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com>
drivers/gpu/drm/amd/amdkfd/kfd_device.c
drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_cik.c
drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_vi.c