On 12/01/2016 21:53, Chris Wilson wrote:
On Tue, Jan 12, 2016 at 03:07:03PM +0100, Daniel Vetter wrote:
On Tue, Jan 12, 2016 at 11:19:26AM +0000, John Harrison wrote:
On 11/01/2016 22:16, Chris Wilson wrote:
On Mon, Jan 11, 2016 at 06:42:39PM +0000, john.c.harri...@intel.com wrote:
From: John Harrison <john.c.harri...@intel.com>

MMIO flips are the preferred mechanism now but more importantly,
Says who?
I asked this exact question at the linux architecture forum quite some time
ago - does the scheduler need to worry about managing non-batch buffer work
such as page flips. The answer from everyone present was no, MMIO flips are
the way to go so don't over complicate the scheduler trying to support ring
flips. Indeed, execlist mode already forces MMIO flips anyway.
Two wrongs do not make a right, as they say. CS flips work very nicely
with execlists.
They might have done at one point but if you don't test it then it don't work and right now it ain't being tested because:
    static bool use_mmio_flip(struct intel_engine_cs *ring,
              struct drm_i915_gem_object *obj)
    ...
        else if (i915.enable_execlists)
            return true;



Atomic will kill CS flips. We can mourn them and scream about the loss,
but imo best is to just skip that all and move on to acceptance. So mmio
flips (or well, atomic flips) is still the way to go for everything.
The real issue I think here is that not trying to feed a request into the
scheduler for the flip has lead to a poor interface into the scheduler.
For a CS flip request, we know the ordering, it's contents, we have to
choose the context though, but we have a good idea of the deadline which
gives a good challenge to a scheduler. That was my take.
-Chris


_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to