lkml.org 
[lkml]   [2020]   [Mar]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] RFC: dma-buf: Add an API for importing and exporting sync files
From
Date
Am 05.03.20 um 16:54 schrieb Jason Ekstrand:
> On Thu, Mar 5, 2020 at 7:06 AM Christian König <christian.koenig@amd.com> wrote:
>> [SNIP]
>> Well as far as I can see this won't work because it would break the
>> semantics of the timeline sync.
> I'm not 100% convinced it has to. We already have support for the
> seqno regressing and we ensure that we still wait for all the fences.
> I thought maybe we could use that but I haven't spent enough time
> looking at the details to be sure. I may be missing something.

That won't work. The seqno regression works by punishing userspace for
doing something stupid and undefined.

Be we can't do that under normal circumstances.

>> I can prototype that if you want, shouldn't be more than a few hours of
>> hacking anyway.
> If you'd like to, go for it. I'd be happy to give it a go as well but
> if you already know what you want, it may be easier for you to just
> write the patch for the cursor.

Send you two patches for that a few minutes ago. But keep in mind that
those are completely untested.

> Two more questions:
>
> 1. Do you want this collapsing to happen every time we create a
> dma_fence_array or should it be a special entrypoint? Collapsing all
> the time likely means doing extra array calculations instead of the
> dma_fence_array taking ownership of the array that's passed in. My
> gut says that cost is ok; but my gut doesn't spend much time in kernel
> space.

In my prototype implementation that is a dma_resv function you call and
get either a single fence or a dma_fence_array with the collapsed fences
in return.

But I wouldn't add that to the general dma_fence_array_init function
since this is still a rather special case. Well see the patches, they
should be pretty self explaining.

> 2. When we do the collapsing, should we call dma_fence_is_signaled()
> to avoid adding signaled fences to the array? It seems like avoiding
> adding references to fences that are already signaled would let the
> kernel clean them up faster and reduce the likelihood that a fence
> will hang around forever because it keeps getting added to arrays with
> other unsignaled fences.

I think so. Can't think of a good reason why we would want to add
already signaled fences to the array.

Christian.

>
> --Jason

\
 
 \ /
  Last update: 2020-03-09 17:22    [W:0.126 / U:0.136 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site