[Intel-gfx] [PATCH 1/2] drm/i915/overlay: Allocate physical registers from stolen

Chris Wilson chris at chris-wilson.co.uk
Tue Sep 11 13:13:35 UTC 2018


Quoting Ville Syrjälä (2018-09-11 14:07:18)
> On Thu, Sep 06, 2018 at 08:01:43PM +0100, Chris Wilson wrote:
> > Given that we are now reasonably confident in our ability to detect and
> > reserve the stolen memory (physical memory reserved for graphics by the
> > BIOS) for ourselves on most machines, we can put it to use. In this
> > case, we need a page to hold the overlay registers.
> > 
> > On an i915g running MythTv, H Buus noticed that
> > 
> >       commit 6a2c4232ece145d8b5a8f95f767bd6d0d2d2f2bb
> >       Author: Chris Wilson <chris at chris-wilson.co.uk>
> >       Date:   Tue Nov 4 04:51:40 2014 -0800
> >       drm/i915: Make the physical object coherent with GTT
> > 
> > introduced stuttering into his video playback. After discarding the
> > likely suspect of it being the physical cursor updates, we were left
> > with the use of the phys object for the overlay. And lo, if we
> > completely avoid using the phys object (allocated just once on module
> > load!) by switching to stolen memory, the stuttering goes away.
> > 
> > For lack of a better explanation, claim victory and kill two birds with
> > one stone.
> 
> A but peculiar. But looks fine to me. And we should have some
> stolen pretty much everywhere. I guess my only concern is permanently
> fragmenting stolen with this. Or does the allocator grab it from the
> very end?

Hmm, it using DRM_MM_INSERT_BEST for all atm. We can do better by using
DRM_MM_INSERT_LOW for the permanent stuff, but at the beginning BEST
should still be one-sided.
-Chris


More information about the Intel-gfx mailing list