[Intel-gfx] [PATCH 6/6] drm/i915/gt: Remove timeslice suppression
Andi Shyti
andi.shyti at intel.com
Wed Jan 6 00:07:40 UTC 2021
Hi Chris,
On Mon, Jan 04, 2021 at 11:51:45AM +0000, Chris Wilson wrote:
> In the next patch, we remove the strict priority system and continuously
next patch?
[...]
> -static bool
> -timeslice_expired(const struct intel_engine_execlists *el,
> - const struct i915_request *rq)
> +static bool needs_timeslice(const struct intel_engine_cs *engine,
> + const struct i915_request *rq)
> {
> - return timer_expired(&el->timer) || timeslice_yield(el, rq);
> -}
> + if (!intel_engine_has_timeslices(engine))
> + return false;
>
> -static int
> -switch_prio(struct intel_engine_cs *engine, const struct i915_request *rq)
> -{
> - if (list_is_last(&rq->sched.link, &engine->active.requests))
> - return engine->execlists.queue_priority_hint;
> + /* If not currently active, or about to switch, wait for next event */
> + if (!rq || __i915_request_is_complete(rq))
> + return false;
>
> - return rq_prio(list_next_entry(rq, sched.link));
> -}
> + /* We do not need to start the timeslice until after the ACK */
> + if (READ_ONCE(engine->execlists.pending[0]))
> + return false;
>
> -static inline unsigned long
> -timeslice(const struct intel_engine_cs *engine)
> -{
> - return READ_ONCE(engine->props.timeslice_duration_ms);
> + /* If ELSP[1] is occupied, always check to see if worth slicing */
> + if (!list_is_last_rcu(&rq->sched.link, &engine->active.requests))
> + return true;
> +
> + /* Otherwise, ELSP[0] is by itself, but may be waiting in the queue */
> + if (!RB_EMPTY_ROOT(&engine->execlists.queue.rb_root))
> + return true;
> +
> + return !RB_EMPTY_ROOT(&engine->execlists.virtual.rb_root);
> }
the above diff is quite unreadable and besides the patch does not
apply on the latest drm-tip.
In order to have a better review, I would suggest either one of
the following:
- use a different diff algorithm for generating the patch
- you rebase everything on top of the latest drm-tip so that I
can apply and check
- give me a branch so that I can checkout that branch and review
it from there.
Thanks,
Andi
More information about the Intel-gfx
mailing list