[PATCH 4/6] drm/amdkfd: Workaround to accommodate Raven too many PPR issue

Alex Deucher alexdeucher at gmail.com
Fri Jul 13 19:26:38 UTC 2018


On Thu, Jul 12, 2018 at 5:24 PM, Felix Kuehling <Felix.Kuehling at amd.com> wrote:
> From: Yong Zhao <yong.zhao at amd.com>

Please add a patch description explaining why this is needed for Raven.

Alex


>
> Signed-off-by: Yong Zhao <yong.zhao at amd.com>
> Reviewed-by: Felix Kuehling <Felix.Kuehling at amd.com>
> Signed-off-by: Felix Kuehling <Felix.Kuehling at amd.com>
> ---
>  drivers/gpu/drm/amd/amdkfd/kfd_events.c | 21 ++++++++++++++++-----
>  1 file changed, 16 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_events.c b/drivers/gpu/drm/amd/amdkfd/kfd_events.c
> index 820133c..4dcacce 100644
> --- a/drivers/gpu/drm/amd/amdkfd/kfd_events.c
> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_events.c
> @@ -932,13 +932,24 @@ void kfd_signal_iommu_event(struct kfd_dev *dev, unsigned int pasid,
>         up_read(&mm->mmap_sem);
>         mmput(mm);
>
> -       mutex_lock(&p->event_mutex);
> +       pr_debug("notpresent %d, noexecute %d, readonly %d\n",
> +                       memory_exception_data.failure.NotPresent,
> +                       memory_exception_data.failure.NoExecute,
> +                       memory_exception_data.failure.ReadOnly);
>
> -       /* Lookup events by type and signal them */
> -       lookup_events_by_type_and_signal(p, KFD_EVENT_TYPE_MEMORY,
> -                       &memory_exception_data);
> +       /* Workaround on Raven to not kill the process when memory is freed
> +        * before IOMMU is able to finish processing all the excessive PPRs
> +        */
> +       if (dev->device_info->asic_family != CHIP_RAVEN) {
> +               mutex_lock(&p->event_mutex);
> +
> +               /* Lookup events by type and signal them */
> +               lookup_events_by_type_and_signal(p, KFD_EVENT_TYPE_MEMORY,
> +                               &memory_exception_data);
> +
> +               mutex_unlock(&p->event_mutex);
> +       }
>
> -       mutex_unlock(&p->event_mutex);
>         kfd_unref_process(p);
>  }
>  #endif /* KFD_SUPPORT_IOMMU_V2 */
> --
> 2.7.4
>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx


More information about the amd-gfx mailing list