From: Rob Clark <robdclark@gmail.com> To: dri-devel@lists.freedesktop.org Cc: Daniel Vetter <daniel@ffwll.ch>, Rob Clark <robdclark@chromium.org>, Rob Clark <robdclark@gmail.com>, Sean Paul <sean@poorly.run>, David Airlie <airlied@linux.ie>, linux-arm-msm@vger.kernel.org (open list:DRM DRIVER FOR MSM ADRENO GPU), freedreno@lists.freedesktop.org (open list:DRM DRIVER FOR MSM ADRENO GPU), linux-kernel@vger.kernel.org (open list) Subject: [PATCH v3 17/23] drm/msm: Remove obj->gpu Date: Mon, 19 Oct 2020 13:46:18 -0700 [thread overview] Message-ID: <20201019204636.139997-18-robdclark@gmail.com> (raw) In-Reply-To: <20201019204636.139997-1-robdclark@gmail.com> From: Rob Clark <robdclark@chromium.org> It cannot be atomically updated with obj->active_count, and the only purpose is a useless WARN_ON() (which becomes a buggy WARN_ON() once retire_submits() is not serialized with incoming submits via struct_mutex) Signed-off-by: Rob Clark <robdclark@chromium.org> --- drivers/gpu/drm/msm/msm_gem.c | 2 -- drivers/gpu/drm/msm/msm_gem.h | 1 - drivers/gpu/drm/msm/msm_gpu.c | 5 ----- 3 files changed, 8 deletions(-) diff --git a/drivers/gpu/drm/msm/msm_gem.c b/drivers/gpu/drm/msm/msm_gem.c index 092ed152999e..e4876498be47 100644 --- a/drivers/gpu/drm/msm/msm_gem.c +++ b/drivers/gpu/drm/msm/msm_gem.c @@ -775,7 +775,6 @@ void msm_gem_active_get(struct drm_gem_object *obj, struct msm_gpu *gpu) if (!atomic_fetch_inc(&msm_obj->active_count)) { mutex_lock(&priv->mm_lock); - msm_obj->gpu = gpu; list_del_init(&msm_obj->mm_list); list_add_tail(&msm_obj->mm_list, &gpu->active_list); mutex_unlock(&priv->mm_lock); @@ -791,7 +790,6 @@ void msm_gem_active_put(struct drm_gem_object *obj) if (!atomic_dec_return(&msm_obj->active_count)) { mutex_lock(&priv->mm_lock); - msm_obj->gpu = NULL; list_del_init(&msm_obj->mm_list); list_add_tail(&msm_obj->mm_list, &priv->inactive_list); mutex_unlock(&priv->mm_lock); diff --git a/drivers/gpu/drm/msm/msm_gem.h b/drivers/gpu/drm/msm/msm_gem.h index 2f289c436ddd..f4e73c6f07bf 100644 --- a/drivers/gpu/drm/msm/msm_gem.h +++ b/drivers/gpu/drm/msm/msm_gem.h @@ -64,7 +64,6 @@ struct msm_gem_object { * */ struct list_head mm_list; - struct msm_gpu *gpu; /* non-null if active */ /* Transiently in the process of submit ioctl, objects associated * with the submit are on submit->bo_list.. this only lasts for diff --git a/drivers/gpu/drm/msm/msm_gpu.c b/drivers/gpu/drm/msm/msm_gpu.c index bcd9b4fa98b2..d0f625112a97 100644 --- a/drivers/gpu/drm/msm/msm_gpu.c +++ b/drivers/gpu/drm/msm/msm_gpu.c @@ -810,11 +810,6 @@ void msm_gpu_submit(struct msm_gpu *gpu, struct msm_gem_submit *submit) struct drm_gem_object *drm_obj = &msm_obj->base; uint64_t iova; - /* can't happen yet.. but when we add 2d support we'll have - * to deal w/ cross-ring synchronization: - */ - WARN_ON(is_active(msm_obj) && (msm_obj->gpu != gpu)); - /* submit takes a reference to the bo and iova until retired: */ drm_gem_object_get(&msm_obj->base); msm_gem_get_and_pin_iova_locked(&msm_obj->base, submit->aspace, &iova); -- 2.26.2
WARNING: multiple messages have this Message-ID (diff)
From: Rob Clark <robdclark@gmail.com> To: dri-devel@lists.freedesktop.org Cc: Rob Clark <robdclark@chromium.org>, "open list:DRM DRIVER FOR MSM ADRENO GPU" <freedreno@lists.freedesktop.org>, David Airlie <airlied@linux.ie>, "open list:DRM DRIVER FOR MSM ADRENO GPU" <linux-arm-msm@vger.kernel.org>, open list <linux-kernel@vger.kernel.org>, Sean Paul <sean@poorly.run> Subject: [PATCH v3 17/23] drm/msm: Remove obj->gpu Date: Mon, 19 Oct 2020 13:46:18 -0700 [thread overview] Message-ID: <20201019204636.139997-18-robdclark@gmail.com> (raw) In-Reply-To: <20201019204636.139997-1-robdclark@gmail.com> From: Rob Clark <robdclark@chromium.org> It cannot be atomically updated with obj->active_count, and the only purpose is a useless WARN_ON() (which becomes a buggy WARN_ON() once retire_submits() is not serialized with incoming submits via struct_mutex) Signed-off-by: Rob Clark <robdclark@chromium.org> --- drivers/gpu/drm/msm/msm_gem.c | 2 -- drivers/gpu/drm/msm/msm_gem.h | 1 - drivers/gpu/drm/msm/msm_gpu.c | 5 ----- 3 files changed, 8 deletions(-) diff --git a/drivers/gpu/drm/msm/msm_gem.c b/drivers/gpu/drm/msm/msm_gem.c index 092ed152999e..e4876498be47 100644 --- a/drivers/gpu/drm/msm/msm_gem.c +++ b/drivers/gpu/drm/msm/msm_gem.c @@ -775,7 +775,6 @@ void msm_gem_active_get(struct drm_gem_object *obj, struct msm_gpu *gpu) if (!atomic_fetch_inc(&msm_obj->active_count)) { mutex_lock(&priv->mm_lock); - msm_obj->gpu = gpu; list_del_init(&msm_obj->mm_list); list_add_tail(&msm_obj->mm_list, &gpu->active_list); mutex_unlock(&priv->mm_lock); @@ -791,7 +790,6 @@ void msm_gem_active_put(struct drm_gem_object *obj) if (!atomic_dec_return(&msm_obj->active_count)) { mutex_lock(&priv->mm_lock); - msm_obj->gpu = NULL; list_del_init(&msm_obj->mm_list); list_add_tail(&msm_obj->mm_list, &priv->inactive_list); mutex_unlock(&priv->mm_lock); diff --git a/drivers/gpu/drm/msm/msm_gem.h b/drivers/gpu/drm/msm/msm_gem.h index 2f289c436ddd..f4e73c6f07bf 100644 --- a/drivers/gpu/drm/msm/msm_gem.h +++ b/drivers/gpu/drm/msm/msm_gem.h @@ -64,7 +64,6 @@ struct msm_gem_object { * */ struct list_head mm_list; - struct msm_gpu *gpu; /* non-null if active */ /* Transiently in the process of submit ioctl, objects associated * with the submit are on submit->bo_list.. this only lasts for diff --git a/drivers/gpu/drm/msm/msm_gpu.c b/drivers/gpu/drm/msm/msm_gpu.c index bcd9b4fa98b2..d0f625112a97 100644 --- a/drivers/gpu/drm/msm/msm_gpu.c +++ b/drivers/gpu/drm/msm/msm_gpu.c @@ -810,11 +810,6 @@ void msm_gpu_submit(struct msm_gpu *gpu, struct msm_gem_submit *submit) struct drm_gem_object *drm_obj = &msm_obj->base; uint64_t iova; - /* can't happen yet.. but when we add 2d support we'll have - * to deal w/ cross-ring synchronization: - */ - WARN_ON(is_active(msm_obj) && (msm_obj->gpu != gpu)); - /* submit takes a reference to the bo and iova until retired: */ drm_gem_object_get(&msm_obj->base); msm_gem_get_and_pin_iova_locked(&msm_obj->base, submit->aspace, &iova); -- 2.26.2 _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2020-10-19 20:46 UTC|newest] Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-10-19 20:46 [PATCH v3 00/23] drm/msm: de-struct_mutex-ification Rob Clark 2020-10-19 20:46 ` Rob Clark 2020-10-19 20:46 ` [PATCH v3 01/23] drm/msm: Fix a couple incorrect usages of get_vaddr_active() Rob Clark 2020-10-19 20:46 ` Rob Clark 2020-10-19 20:46 ` [PATCH v3 02/23] drm/msm/gem: Add obj->lock wrappers Rob Clark 2020-10-19 20:46 ` Rob Clark 2020-10-19 20:46 ` [PATCH v3 03/23] drm/msm/gem: Rename internal get_iova_locked helper Rob Clark 2020-10-19 20:46 ` Rob Clark 2020-10-19 20:46 ` [PATCH v3 04/23] drm/msm/gem: Move prototypes to msm_gem.h Rob Clark 2020-10-19 20:46 ` Rob Clark 2020-10-19 20:46 ` [PATCH v3 05/23] drm/msm/gem: Add some _locked() helpers Rob Clark 2020-10-19 20:46 ` Rob Clark 2020-10-19 20:46 ` [PATCH v3 06/23] drm/msm/gem: Move locking in shrinker path Rob Clark 2020-10-19 20:46 ` Rob Clark 2020-10-23 8:55 ` [Freedreno] " Kristian Høgsberg 2020-10-23 8:55 ` Kristian Høgsberg 2020-10-23 14:46 ` Rob Clark 2020-10-23 14:46 ` Rob Clark 2020-10-19 20:46 ` [PATCH v3 07/23] drm/msm/submit: Move copy_from_user ahead of locking bos Rob Clark 2020-10-19 20:46 ` Rob Clark 2020-10-23 9:08 ` [Freedreno] " Kristian Høgsberg 2020-10-23 9:08 ` Kristian Høgsberg 2020-10-19 20:46 ` [PATCH v3 08/23] drm/msm: Do rpm get sooner in the submit path Rob Clark 2020-10-19 20:46 ` Rob Clark 2020-10-19 20:46 ` [PATCH v3 09/23] drm/msm/gem: Switch over to obj->resv for locking Rob Clark 2020-10-19 20:46 ` Rob Clark 2020-10-19 20:46 ` [PATCH v3 10/23] drm/msm: Use correct drm_gem_object_put() in fail case Rob Clark 2020-10-19 20:46 ` Rob Clark 2020-10-19 20:46 ` [PATCH v3 11/23] drm/msm: Drop chatty trace Rob Clark 2020-10-19 20:46 ` Rob Clark 2020-10-19 20:46 ` [PATCH v3 12/23] drm/msm: Move update_fences() Rob Clark 2020-10-19 20:46 ` Rob Clark 2020-10-19 20:46 ` [PATCH v3 13/23] drm/msm: Add priv->mm_lock to protect active/inactive lists Rob Clark 2020-10-19 20:46 ` Rob Clark 2020-10-19 20:46 ` [PATCH v3 14/23] drm/msm: Document and rename preempt_lock Rob Clark 2020-10-19 20:46 ` Rob Clark 2020-10-19 20:46 ` [PATCH v3 15/23] drm/msm: Protect ring->submits with it's own lock Rob Clark 2020-10-19 20:46 ` Rob Clark 2020-10-19 20:46 ` [PATCH v3 16/23] drm/msm: Refcount submits Rob Clark 2020-10-19 20:46 ` Rob Clark 2020-10-19 20:46 ` Rob Clark [this message] 2020-10-19 20:46 ` [PATCH v3 17/23] drm/msm: Remove obj->gpu Rob Clark 2020-10-19 20:46 ` [PATCH v3 18/23] drm/msm: Drop struct_mutex from the retire path Rob Clark 2020-10-19 20:46 ` Rob Clark 2020-10-19 20:46 ` [PATCH v3 19/23] drm/msm: Drop struct_mutex in free_object() path Rob Clark 2020-10-19 20:46 ` Rob Clark 2020-10-19 20:46 ` [PATCH v3 20/23] drm/msm: Remove msm_gem_free_work Rob Clark 2020-10-19 20:46 ` Rob Clark 2020-10-19 20:46 ` [PATCH v3 21/23] drm/msm: Drop struct_mutex in madvise path Rob Clark 2020-10-19 20:46 ` Rob Clark 2020-10-19 20:46 ` [PATCH v3 22/23] drm/msm: Drop struct_mutex in shrinker path Rob Clark 2020-10-19 20:46 ` Rob Clark 2020-10-19 20:46 ` [PATCH v3 23/23] drm/msm: Don't implicit-sync if only a single ring Rob Clark 2020-10-19 20:46 ` Rob Clark 2020-10-23 10:58 ` [Freedreno] [PATCH v3 00/23] drm/msm: de-struct_mutex-ification Kristian Høgsberg 2020-10-23 10:58 ` Kristian Høgsberg
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20201019204636.139997-18-robdclark@gmail.com \ --to=robdclark@gmail.com \ --cc=airlied@linux.ie \ --cc=daniel@ffwll.ch \ --cc=dri-devel@lists.freedesktop.org \ --cc=freedreno@lists.freedesktop.org \ --cc=linux-arm-msm@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=robdclark@chromium.org \ --cc=sean@poorly.run \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.