[Intel-gfx] Trivial scheduler, take 2

2016-11-07 Thread Chris Wilson
Not much to report here. Biggest change is converting the recursive DFS
for PI into an iterative algorithm. The biggest challenge remains trying
to get a consistent set of names so we avoid confusing ourselves going
forwards into preemption. Biggest TODO task is check for perf regressions
from the deferred submission mechanism and for the impact of using a
2-slot dispatch for the GuC workqueue (and the extra tasklet wakeups for
execlists, which should not be so bad as the tasklet is due to be woken
up within a few tens of nanoseconds after the user-interrupt is sent!)
-Chris

___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx


[Intel-gfx] Trivial scheduler

2016-10-26 Thread Chris Wilson
Started out as what intended to be a quick look at how to extend the
fences to support the priority inheritance ended up completing the final
few steps to implement the most trivial priority based scheduler. A lot
of the policy decisions have been left out (such as e.g. only submitting
one request from each context each interrupt) so that it is not very
fine-grained, nor does it implement time-slicing and fair load
balancing, and continues to live in blissful ignorance of the challenge
of preemption. It is also execlists only. It purely serves as fodder to
take the next steps towards a real scheduler, and in the meantime offers
one benefit to current desktops, giving uber priority to the rendering
of the pageflip.

This adds the dependency tracking of the requests required to do
inflight reordering (as distinct from the dependency tracking required
to decide when we can submit the request to hardware) and implements a
priority sorted rbtree of the ready-to-execute requests to be submitted
on the next context-switch.
-Chris

___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx