[PATCH 03/27] drm/etnaviv: add lockdep annotation for userptr object population
Christian Gmeiner
christian.gmeiner at gmail.com
Mon Dec 11 10:46:27 UTC 2017
2017-12-01 11:36 GMT+01:00 Lucas Stach <l.stach at pengutronix.de>:
> The current userptr page population will defer work to a work item if
> needed to avoid ever taking the mmap_sem in the direct call path. With
> the more fine-grained locking in etnaviv this isn't needed anymore, so
> a future commit will simplify this code.
>
> Add a lockdep annotation to validate the assumption that the mmap_sem
> can be taken in the direct call path.
>
> Signed-off-by: Lucas Stach <l.stach at pengutronix.de>
Reviewed-by: Christian Gmeiner <christian.gmeiner at gmail.com>
> ---
> drivers/gpu/drm/etnaviv/etnaviv_gem.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gem.c b/drivers/gpu/drm/etnaviv/etnaviv_gem.c
> index e3582507963d..555a331c51a9 100644
> --- a/drivers/gpu/drm/etnaviv/etnaviv_gem.c
> +++ b/drivers/gpu/drm/etnaviv/etnaviv_gem.c
> @@ -804,6 +804,8 @@ static int etnaviv_gem_userptr_get_pages(struct etnaviv_gem_object *etnaviv_obj)
> struct mm_struct *mm;
> int ret, pinned, npages = etnaviv_obj->base.size >> PAGE_SHIFT;
>
> + might_lock_read(¤t->mm->mmap_sem);
> +
> if (etnaviv_obj->userptr.work) {
> if (IS_ERR(etnaviv_obj->userptr.work)) {
> ret = PTR_ERR(etnaviv_obj->userptr.work);
> --
> 2.11.0
>
--
greets
--
Christian Gmeiner, MSc
https://christian-gmeiner.info
More information about the dri-devel
mailing list