Re: [PATCH v7 0/3] drm: add explict fencing

From: Daniel Vetter
Date: Tue Nov 08 2016 - 06:36:12 EST


On Tue, Nov 08, 2016 at 10:35:08AM +0000, Chris Wilson wrote:
> On Tue, Nov 08, 2016 at 03:54:47PM +0900, Gustavo Padovan wrote:
> > From: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx>
> >
> > Hi,
> >
> > This is yet another version of the DRM fences patches. Please refer
> > to the cover letter[1] in a previous version to check for more details.
>
> Explicit fencing is not a superset of the implicit fences. The driver
> may be using implicit fences (on a reservation object) to serialise
> asynchronous operations wrt to each other (such as dispatching threads
> to flush cpu caches to memory, manipulating page tables and the like
> before the flip). Since the user doesn't know about these operations,
> they are not included in the explicit fence they provide, at which point
> we can't trust their fence to the exclusion of the implicit fences...

My thoughts are that in atomic_check drivers just fill in the fence from
the reservation_object (i.e. the uapi implicit fencing part). If there's
any additional work that's queued up in ->prepare_fb then I guess the
driver needs to track that internally, but _only_ for kernel-internally
queued work.

The reason for that is that with explicit fencing we want to allow
userspace to overwrite any existing implicit fences that might hang
around.
-Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch