Commit bd5d6781 authored by Chris Wilson's avatar Chris Wilson

drm/i915: Use __ffs() in for_each_priolist for more compact code

Gcc has a slight preference if we use __ffs() to subtract one from the
index once rather than each use:

__execlists_submission_tasklet              2867    2847     -20
Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: default avatarTvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190226102404.29153-11-chris@chris-wilson.co.uk
parent d9948a10
...@@ -95,9 +95,11 @@ struct i915_priolist { ...@@ -95,9 +95,11 @@ struct i915_priolist {
list_for_each_entry(it, &(plist)->requests[idx], sched.link) list_for_each_entry(it, &(plist)->requests[idx], sched.link)
#define priolist_for_each_request_consume(it, n, plist, idx) \ #define priolist_for_each_request_consume(it, n, plist, idx) \
for (; (idx = ffs((plist)->used)); (plist)->used &= ~BIT(idx - 1)) \ for (; \
(plist)->used ? (idx = __ffs((plist)->used)), 1 : 0; \
(plist)->used &= ~BIT(idx)) \
list_for_each_entry_safe(it, n, \ list_for_each_entry_safe(it, n, \
&(plist)->requests[idx - 1], \ &(plist)->requests[idx], \
sched.link) sched.link)
void i915_sched_node_init(struct i915_sched_node *node); void i915_sched_node_init(struct i915_sched_node *node);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment