projects
/
linux.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
2ee7dc4
)
drm/i915: Optimise VMA lookup slightly
author
Tvrtko Ursulin
<tvrtko.ursulin@intel.com>
Tue, 13 Dec 2016 14:37:27 +0000
(14:37 +0000)
committer
Tvrtko Ursulin
<tvrtko.ursulin@intel.com>
Thu, 15 Dec 2016 13:31:26 +0000
(13:31 +0000)
Cast VM pointers before substraction to save the compiler
doing a smart one which includes multiplication.
v2: Only keep the first optimisation and prettify it. (Chris Wilson)
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>
Link:
http://patchwork.freedesktop.org/patch/msgid/1481639847-9214-1-git-send-email-tvrtko.ursulin@linux.intel.com
drivers/gpu/drm/i915/i915_vma.h
patch
|
blob
|
history
diff --git
a/drivers/gpu/drm/i915/i915_vma.h
b/drivers/gpu/drm/i915/i915_vma.h
index 21be74c61065af1cbeed209995843291654dfb98..e3b2b3b1e0568dd7c00b3309520cad6311c0b28c 100644
(file)
--- a/
drivers/gpu/drm/i915/i915_vma.h
+++ b/
drivers/gpu/drm/i915/i915_vma.h
@@
-178,15
+178,23
@@
static inline void i915_vma_put(struct i915_vma *vma)
i915_gem_object_put(vma->obj);
}
+static __always_inline ptrdiff_t ptrdiff(const void *a, const void *b)
+{
+ return a - b;
+}
+
static inline long
i915_vma_compare(struct i915_vma *vma,
struct i915_address_space *vm,
const struct i915_ggtt_view *view)
{
+ ptrdiff_t cmp;
+
GEM_BUG_ON(view && !i915_is_ggtt(vm));
- if (vma->vm != vm)
- return vma->vm - vm;
+ cmp = ptrdiff(vma->vm, vm);
+ if (cmp)
+ return cmp;
if (!view)
return vma->ggtt_view.type;