From: Matthew Auld <matthew.auld@intel.com> To: intel-gfx@lists.freedesktop.org Cc: dri-devel@lists.freedesktop.org, Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Subject: [PATCH v3 8/8] drm/i915: Require object lock when freeing pages during destruction Date: Fri, 29 Oct 2021 11:40:26 +0100 [thread overview] Message-ID: <20211029104026.3472621-8-matthew.auld@intel.com> (raw) In-Reply-To: <20211029104026.3472621-1-matthew.auld@intel.com> From: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> TTM already requires this, and we require it for delayed destroy. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Reviewed-by: Matthew Auld <matthew.auld@intel.com> Signed-off-by: Matthew Auld <matthew.auld@intel.com> --- drivers/gpu/drm/i915/gem/i915_gem_object.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/gpu/drm/i915/gem/i915_gem_object.c b/drivers/gpu/drm/i915/gem/i915_gem_object.c index 55b0f1df3192..6e5412e2b5ad 100644 --- a/drivers/gpu/drm/i915/gem/i915_gem_object.c +++ b/drivers/gpu/drm/i915/gem/i915_gem_object.c @@ -257,6 +257,8 @@ static void __i915_gem_object_free_mmaps(struct drm_i915_gem_object *obj) */ void __i915_gem_object_pages_fini(struct drm_i915_gem_object *obj) { + assert_object_held(obj); + if (!list_empty(&obj->vma.list)) { struct i915_vma *vma; @@ -323,7 +325,10 @@ static void __i915_gem_free_objects(struct drm_i915_private *i915, obj->ops->delayed_free(obj); continue; } + + i915_gem_object_lock(obj, NULL); __i915_gem_object_pages_fini(obj); + i915_gem_object_unlock(obj); __i915_gem_free_object(obj); /* But keep the pointer alive for RCU-protected lookups */ -- 2.26.3
WARNING: multiple messages have this Message-ID (diff)
From: Matthew Auld <matthew.auld@intel.com> To: intel-gfx@lists.freedesktop.org Cc: dri-devel@lists.freedesktop.org, Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Subject: [Intel-gfx] [PATCH v3 8/8] drm/i915: Require object lock when freeing pages during destruction Date: Fri, 29 Oct 2021 11:40:26 +0100 [thread overview] Message-ID: <20211029104026.3472621-8-matthew.auld@intel.com> (raw) In-Reply-To: <20211029104026.3472621-1-matthew.auld@intel.com> From: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> TTM already requires this, and we require it for delayed destroy. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Reviewed-by: Matthew Auld <matthew.auld@intel.com> Signed-off-by: Matthew Auld <matthew.auld@intel.com> --- drivers/gpu/drm/i915/gem/i915_gem_object.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/gpu/drm/i915/gem/i915_gem_object.c b/drivers/gpu/drm/i915/gem/i915_gem_object.c index 55b0f1df3192..6e5412e2b5ad 100644 --- a/drivers/gpu/drm/i915/gem/i915_gem_object.c +++ b/drivers/gpu/drm/i915/gem/i915_gem_object.c @@ -257,6 +257,8 @@ static void __i915_gem_object_free_mmaps(struct drm_i915_gem_object *obj) */ void __i915_gem_object_pages_fini(struct drm_i915_gem_object *obj) { + assert_object_held(obj); + if (!list_empty(&obj->vma.list)) { struct i915_vma *vma; @@ -323,7 +325,10 @@ static void __i915_gem_free_objects(struct drm_i915_private *i915, obj->ops->delayed_free(obj); continue; } + + i915_gem_object_lock(obj, NULL); __i915_gem_object_pages_fini(obj); + i915_gem_object_unlock(obj); __i915_gem_free_object(obj); /* But keep the pointer alive for RCU-protected lookups */ -- 2.26.3
next prev parent reply other threads:[~2021-10-29 10:41 UTC|newest] Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-10-29 10:40 [PATCH v3 1/8] drm/i915: Remove gen6_ppgtt_unpin_all Matthew Auld 2021-10-29 10:40 ` [Intel-gfx] " Matthew Auld 2021-10-29 10:40 ` [PATCH v3 2/8] drm/i915: Create a dummy object for gen6 ppgtt Matthew Auld 2021-10-29 10:40 ` [Intel-gfx] " Matthew Auld 2021-10-29 10:40 ` [PATCH v3 3/8] drm/i915: Create a full object for mock_ring, v2 Matthew Auld 2021-10-29 10:40 ` [Intel-gfx] " Matthew Auld 2021-10-29 10:40 ` [PATCH v3 4/8] drm/i915: vma is always backed by an object Matthew Auld 2021-10-29 10:40 ` [Intel-gfx] " Matthew Auld 2021-10-29 10:40 ` [PATCH v3 5/8] drm/i915: Remove resv from i915_vma Matthew Auld 2021-10-29 10:40 ` [Intel-gfx] " Matthew Auld 2021-10-29 10:40 ` [PATCH v3 6/8] drm/i915: Rework context handling in hugepages selftests Matthew Auld 2021-10-29 10:40 ` [Intel-gfx] " Matthew Auld 2021-10-29 10:40 ` [PATCH v3 7/8] drm/i915: Drain the ttm delayed workqueue too Matthew Auld 2021-10-29 10:40 ` [Intel-gfx] " Matthew Auld 2021-10-29 10:40 ` Matthew Auld [this message] 2021-10-29 10:40 ` [Intel-gfx] [PATCH v3 8/8] drm/i915: Require object lock when freeing pages during destruction Matthew Auld 2021-10-29 12:49 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [v3,1/8] drm/i915: Remove gen6_ppgtt_unpin_all Patchwork 2021-10-29 12:50 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork 2021-10-29 13:27 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork
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=20211029104026.3472621-8-matthew.auld@intel.com \ --to=matthew.auld@intel.com \ --cc=dri-devel@lists.freedesktop.org \ --cc=intel-gfx@lists.freedesktop.org \ --cc=maarten.lankhorst@linux.intel.com \ /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.