diff mbox series

drm/i915: Remove erroneous i915_is_ggtt check for I915_GEM_OBJECT_UNBIND_VM_TRYLOCK

Message ID 20210429120158.1105318-1-maarten.lankhorst@linux.intel.com (mailing list archive)
State New, archived
Headers show
Series drm/i915: Remove erroneous i915_is_ggtt check for I915_GEM_OBJECT_UNBIND_VM_TRYLOCK | expand

Commit Message

Maarten Lankhorst April 29, 2021, 12:01 p.m. UTC
We changed the locking hierarchy for both ppgtt and ggtt, so both locks
should be trylocked inside i915_gem_object_unbind().

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Fixes: bc6f80cce9ae ("drm/i915: Use trylock in shrinker for ggtt on bsw vt-d and bxt, v2.")
Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
---
 drivers/gpu/drm/i915/i915_gem.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Comments

Maarten Lankhorst April 30, 2021, 11:15 a.m. UTC | #1
Op 29-04-2021 om 14:01 schreef Maarten Lankhorst:
> We changed the locking hierarchy for both ppgtt and ggtt, so both locks
> should be trylocked inside i915_gem_object_unbind().
>
> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Fixes: bc6f80cce9ae ("drm/i915: Use trylock in shrinker for ggtt on bsw vt-d and bxt, v2.")
> Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
> ---
>  drivers/gpu/drm/i915/i915_gem.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
> index 07da6a9342e3..d0018c5f88bd 100644
> --- a/drivers/gpu/drm/i915/i915_gem.c
> +++ b/drivers/gpu/drm/i915/i915_gem.c
> @@ -158,8 +158,7 @@ int i915_gem_object_unbind(struct drm_i915_gem_object *obj,
>  			ret = -EBUSY;
>  			if (flags & I915_GEM_OBJECT_UNBIND_ACTIVE ||
>  			    !i915_vma_is_active(vma)) {
> -				if (i915_is_ggtt(vma->vm) &&
> -				    flags & I915_GEM_OBJECT_UNBIND_VM_TRYLOCK) {
> +				if (flags & I915_GEM_OBJECT_UNBIND_VM_TRYLOCK) {
>  					if (mutex_trylock(&vma->vm->mutex)) {
>  						ret = __i915_vma_unbind(vma);
>  						mutex_unlock(&vma->vm->mutex);

Applied with Thomas' irc r-b.
diff mbox series

Patch

diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 07da6a9342e3..d0018c5f88bd 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -158,8 +158,7 @@  int i915_gem_object_unbind(struct drm_i915_gem_object *obj,
 			ret = -EBUSY;
 			if (flags & I915_GEM_OBJECT_UNBIND_ACTIVE ||
 			    !i915_vma_is_active(vma)) {
-				if (i915_is_ggtt(vma->vm) &&
-				    flags & I915_GEM_OBJECT_UNBIND_VM_TRYLOCK) {
+				if (flags & I915_GEM_OBJECT_UNBIND_VM_TRYLOCK) {
 					if (mutex_trylock(&vma->vm->mutex)) {
 						ret = __i915_vma_unbind(vma);
 						mutex_unlock(&vma->vm->mutex);