Re: [PATCH 3/3] dma-buf/fence: add signal_on_any to the fence array

From: Daniel Vetter
Date: Mon May 23 2016 - 10:05:27 EST


On Mon, May 23, 2016 at 03:58:41PM +0200, Christian König wrote:
> Am 23.05.2016 um 15:50 schrieb Daniel Vetter:
> >On Mon, May 23, 2016 at 01:25:22PM +0200, Christian König wrote:
> >>From: Christian König <christian.koenig@xxxxxxx>
> >>
> >>If @signal_on_any is true the fence array signals if any fence in the array
> >>signals, otherwise it signals when all fences in the array signal.
> >What do you need this for? Sounds neat, but I can't come up with a use
> >case. And that use case imo should be both in the commit message and
> >kerneldoc.
>
> Good point, going to fix this when if we really use the patch. Just wanted
> to get opinions on this.

For getting opinions on this I get a bit the impression we're slightly
talking past each another. Having the actual user of these functions handy
should help a lot for this discussion.

> I'm currently working on making some of the resource management in amdgpu
> more friendly to our GPU scheduler.
>
> Waiting for resources in the GPU scheduler is implemented as waiting for a
> fence to fire. So when you want to wait for any resource to become available
> (like in our case the VMIDs) you could make good use of something like this.

Hm, ok, if you want a fence that fires when any resource becomes available
of a given type becomes available that might be useful. But how do you
handle the next work item that needs such a resource? Add _all_ previous
fences that use it (there's not much ordering with the scheduler) and let
them race, and retry if they fail?
-Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch