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.greatho...@amd.com>

Reviewed-by: Felix Kuehling <felix.kuehl...@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);
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to