drm/i915: Remove redundant check in i915_gem_obj_to_vma
diff mbox

Message ID 1447329595-17495-1-git-send-email-tvrtko.ursulin@linux.intel.com
State New
Headers show

Commit Message

Tvrtko Ursulin Nov. 12, 2015, 11:59 a.m. UTC
From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>

No need to verify VMA belongs to GGTT since:

1. The function must return a normal VMA belonging to passed in VM.
2. There can only be one normal VMA for any VM.

Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
---
Maybe now even a candidate for making a static inline?

 drivers/gpu/drm/i915/i915_gem.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

Comments

Chris Wilson Nov. 12, 2015, 12:29 p.m. UTC | #1
On Thu, Nov 12, 2015 at 11:59:55AM +0000, Tvrtko Ursulin wrote:
> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> 
> No need to verify VMA belongs to GGTT since:
> 
> 1. The function must return a normal VMA belonging to passed in VM.
> 2. There can only be one normal VMA for any VM.
> 
> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> Cc: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by Chris Wilson <chris@chris-wilson.co.uk>

> Maybe now even a candidate for making a static inline?

No. After tracking vma, i915_gem_obj_to_vma() is moved off the hotpaths
and mostly used for the first lookup by an execbuffer, context creation,
modesetting and debug code.
-Chris
Jani Nikula Nov. 12, 2015, 2:19 p.m. UTC | #2
On Thu, 12 Nov 2015, Chris Wilson <chris@chris-wilson.co.uk> wrote:
> On Thu, Nov 12, 2015 at 11:59:55AM +0000, Tvrtko Ursulin wrote:
>> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>> 
>> No need to verify VMA belongs to GGTT since:
>> 
>> 1. The function must return a normal VMA belonging to passed in VM.
>> 2. There can only be one normal VMA for any VM.
>> 
>> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>> Cc: Chris Wilson <chris@chris-wilson.co.uk>
> Reviewed-by Chris Wilson <chris@chris-wilson.co.uk>

Pushed to drm-intel-next-queued, thanks for the patch and review.

BR,
Jani.



>
>> Maybe now even a candidate for making a static inline?
>
> No. After tracking vma, i915_gem_obj_to_vma() is moved off the hotpaths
> and mostly used for the first lookup by an execbuffer, context creation,
> modesetting and debug code.
> -Chris
Tvrtko Ursulin Nov. 13, 2015, 12:36 p.m. UTC | #3
On 12/11/15 12:29, Chris Wilson wrote:
> On Thu, Nov 12, 2015 at 11:59:55AM +0000, Tvrtko Ursulin wrote:
>> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>>
>> No need to verify VMA belongs to GGTT since:
>>
>> 1. The function must return a normal VMA belonging to passed in VM.
>> 2. There can only be one normal VMA for any VM.
>>
>> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>> Cc: Chris Wilson <chris@chris-wilson.co.uk>
> Reviewed-by Chris Wilson <chris@chris-wilson.co.uk>

Thanks!

>> Maybe now even a candidate for making a static inline?
>
> No. After tracking vma, i915_gem_obj_to_vma() is moved off the hotpaths
> and mostly used for the first lookup by an execbuffer, context creation,
> modesetting and debug code.

Well I thought I wouldn't harm in the interim, since there are only 
three callers in total, two of which are performance sensitive, and if 
inlined code would now probably quite compact.

How is the rewrite coming along then?

Regards,

Tvrtko

Patch
diff mbox

diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index d85c63dc36ac..a913387a89cb 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -4485,10 +4485,8 @@  struct i915_vma *i915_gem_obj_to_vma(struct drm_i915_gem_object *obj,
 {
 	struct i915_vma *vma;
 	list_for_each_entry(vma, &obj->vma_list, vma_link) {
-		if (i915_is_ggtt(vma->vm) &&
-		    vma->ggtt_view.type != I915_GGTT_VIEW_NORMAL)
-			continue;
-		if (vma->vm == vm)
+		if (vma->ggtt_view.type == I915_GGTT_VIEW_NORMAL &&
+		    vma->vm == vm)
 			return vma;
 	}
 	return NULL;