[PATCH] drm/amdkfd: Remove GWS from process during uninit
Kuehling, Felix
Felix.Kuehling at amd.com
Wed Jul 17 15:14:49 UTC 2019
On 2019-07-17 10:58, Greathouse, Joseph wrote:
> If we shut down a process without having destroyed its GWS-using
> queues, it is possible that GWS BO will still be in the process
> BO list during the gpuvm destruction. This list should be empty
> at that time, so we should remove the GWS allocation at the
> process uninit point if it is still around.
>
> Change-Id: I098e7b315070dd5b0165bb7905aef643450f27f2
> Signed-off-by: Joseph Greathouse <Joseph.Greathouse at amd.com>
Reviewed-by: Felix Kuehling <Felix.Kuehling at amd.com>
> ---
> drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c b/drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c
> index da0958625861..7e6c3ee82f5b 100644
> --- a/drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c
> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c
> @@ -150,6 +150,9 @@ void pqm_uninit(struct process_queue_manager *pqm)
> struct process_queue_node *pqn, *next;
>
> list_for_each_entry_safe(pqn, next, &pqm->queues, process_queue_list) {
> + if (pqn->q && pqn->q->gws)
> + amdgpu_amdkfd_remove_gws_from_process(pqm->process->kgd_process_info,
> + pqn->q->gws);
> uninit_queue(pqn->q);
> list_del(&pqn->process_queue_list);
> kfree(pqn);
More information about the amd-gfx
mailing list