public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "Christian König" <deathsimple@vodafone.de>
To: Gustavo Padovan <gustavo@padovan.org>,
	dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org,
	daniel.vetter@ffwll.ch
Subject: Re: [PATCH 2/2] dma-buf/fence: add fence_array fences v4
Date: Fri, 20 May 2016 19:53:20 +0200	[thread overview]
Message-ID: <573F4F10.2010606@vodafone.de> (raw)
In-Reply-To: <20160520144728.GE15150@joana>

Am 20.05.2016 um 16:47 schrieb Gustavo Padovan:
> 2016-05-20 Christian König <deathsimple@vodafone.de>:
>
>> From: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
>>
>> struct fence_collection inherits from struct fence and carries a
>> collection of fences that needs to be waited together.
>>
>> It is useful to translate a sync_file to a fence to remove the complexity
>> of dealing with sync_files on DRM drivers. So even if there are many
>> fences in the sync_file that needs to waited for a commit to happen,
>> they all get added to the fence_collection and passed for DRM use as
>> a standard struct fence.
>>
>> That means that no changes needed to any driver besides supporting fences.
>>
>> fence_collection's fence doesn't belong to any timeline context, so
>> fence_is_later() and fence_later() are not meant to be called with
>> fence_collections fences.
>>
>> v2: Comments by Daniel Vetter:
>> 	- merge fence_collection_init() and fence_collection_add()
>> 	- only add callbacks at ->enable_signalling()
>> 	- remove fence_collection_put()
>> 	- check for type on to_fence_collection()
>> 	- adjust fence_is_later() and fence_later() to WARN_ON() if they
>> 	are used with collection fences.
>>
>> v3: - Initialize fence_cb.node at fence init.
>>
>>      Comments by Chris Wilson:
>> 	- return "unbound" on fence_collection_get_timeline_name()
>> 	- don't stop adding callbacks if one fails
>> 	- remove redundant !! on fence_collection_enable_signaling()
>> 	- remove redundant () on fence_collection_signaled
>> 	- use fence_default_wait() instead
>>
>> v4 (chk): Rework, simplification and cleanup:
>> 	- Drop FENCE_NO_CONTEXT handling, always allocate a context.
>> 	- Rename to fence_array.
>> 	- Return fixed driver name.
>> 	- Register only one callback at a time.
>> 	- Document that create function takes ownership of array.
> This looks good to me. Dropping NO_CONTEXT was a good idea, also
> registering only one callback makes it looks better.

Thinking about it a bit more I think we need to avoid removing the 
callback when the fence is released as well.

That stuff is just a bit to racy (see the comment on the 
fence_remove_callback function as well).

I will just grab a reference to the fence while there is any callback 
registered.

Also please note that this is only compile tested at the moment. I'm 
still working on integrating it into my code.

Regards,
Christian.

>
> 	Gustavo

  reply	other threads:[~2016-05-20 17:53 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-20 13:56 [PATCH 1/2] dma-buf/fence: make fence context 64 bit v2 Christian König
2016-05-20 13:56 ` [PATCH 2/2] dma-buf/fence: add fence_array fences v4 Christian König
2016-05-20 14:42   ` Chris Wilson
2016-05-23  7:32     ` Christian König
2016-05-20 14:47   ` Gustavo Padovan
2016-05-20 17:53     ` Christian König [this message]
2016-05-23  7:41     ` Daniel Vetter
2016-05-23 11:29       ` Christian König
2016-05-23 14:00         ` Daniel Vetter
  -- strict thread matches above, loose matches on Subject: below --
2016-05-20 13:53 [PATCH 1/2] drm/amd/powerplay: fix bugs of checking if dpm is running on Tonga Christian König
2016-05-20 13:53 ` [PATCH 2/2] dma-buf/fence: add fence_array fences v4 Christian König

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=573F4F10.2010606@vodafone.de \
    --to=deathsimple@vodafone.de \
    --cc=daniel.vetter@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=gustavo@padovan.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox