public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Inki Dae <inki.dae@samsung.com>
To: Daniel Stone <daniel@fooishbar.org>
Cc: "Rob Clark" <robdclark@gmail.com>,
	"Linux Kernel Mailing List" <linux-kernel@vger.kernel.org>,
	"dri-devel@lists.freedesktop.org"
	<dri-devel@lists.freedesktop.org>,
	"Arve Hjønnevåg" <arve@android.com>,
	"Daniel Vetter" <daniel.vetter@ffwll.ch>,
	"Riley Andrews" <riandrews@android.com>,
	"Gustavo Padovan" <gustavo.padovan@collabora.co.uk>,
	"John Harrison" <John.C.Harrison@intel.com>
Subject: Re: [RFC 0/6] drm/fences: add in-fences to DRM
Date: Thu, 31 Mar 2016 19:05:46 +0900	[thread overview]
Message-ID: <56FCF67A.8090109@samsung.com> (raw)
In-Reply-To: <CAPj87rPjoBiF_TuBERM4sqL6sb_73CMirRav+JCYFiWzpp+FHw@mail.gmail.com>

Hi Daniel,

2016년 03월 31일 18:35에 Daniel Stone 이(가) 쓴 글:
> Hi Inki,
> 
> On 31 March 2016 at 08:45, Inki Dae <inki.dae@samsung.com> wrote:
>> 2016년 03월 29일 22:23에 Rob Clark 이(가) 쓴 글:
>>> On Mon, Mar 28, 2016 at 10:18 PM, Inki Dae <inki.dae@samsung.com> wrote:
>>>> In addition, I wonder how explicit and implicit fences could coexist together.
>>>> Rob said,
>>>> "Implicit sync ofc remains the default, but userspace could opt-in to explicit sync instead"
>>>>
>>>> This would mean that if we use explicit sync for user-space then it coexists with implicit sync. However, these two sync fences can't see same DMA buffer because explicit fence has a different file object from implicit one.
>>>> So in this case, I think explicit fence would need to be hung up on the reservation object of dmabuf object somehow. Otherwise, although they coexist together, are these fences - explicit and implicit - used for differenct purpose separately?
>>>>
>>>
>>> I'm not entirely sure about coexistance at the same time.  It ofc
>>> shouldn't be a problem for one kernel to support both kinds of
>>> userspace (pure explicit and pure implicit).  And how this would work
>>> on kms atomic ioctl (compositor/consumer) side seems clear enough..
>>> ie. some sort of flag, which if set user provides an explicit fence
>>> fd, and if not set we fall back to current behaviour (ie. get fences
>>> from resv object).
>>
>> With this patch series, users can register explicit fence(s) to atomic kms(consumer side) through kms property interface for the explicit sync.
>>
>> However, now several DRM drivers(also consumer) already have beeen using implicit fence. So while GPU(producer side) is accessing DMA buffer after registering its explicit fence to atomic kms, and if atomic commit is requested by user-space, then atomic helper framework will try to synchronize with the producer - waiting for the signal of GPU side(producer), and device specific page flip function will also try to do same thing.
> 
> Well, it has to be one or the other: mixing explicit and implicit,
> defeats the purpose of using explicit fencing. So, when explicit
> fencing is in use, implicit fences must be ignored.
> 
>> As of now, it seems that this wouldn't be optional but mandatory if explicit fence support is added to the atomic helper framework. This would definitely be duplication and it seems not clear enough even if one of them is just skipped in runtime.
> 
> Drivers would have to opt in to explicit fencing support, and part of
> that would be ensuring that the driver does not wait on implicit
> fences when the user has requested explicit fencing be used.
> 

Then, existing drivers would need additional works for explicit fencing support. This wouldn't be really what the drivers have to but should be handled with this patch series because this would affect exising device drivers which use implicit fencing.


Thanks,
Inki Dae

> Cheers,
> Daniel
> 
> 

  parent reply	other threads:[~2016-03-31 10:05 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-23 18:47 [RFC 0/6] drm/fences: add in-fences to DRM Gustavo Padovan
2016-03-23 18:47 ` [RFC 1/6] drm/fence: add FENCE_FD property to planes Gustavo Padovan
2016-04-05 12:36   ` Rob Clark
2016-04-05 12:57     ` Daniel Stone
2016-04-05 14:04       ` Rob Clark
2016-04-05 14:19         ` Daniel Stone
2016-04-05 15:23           ` Rob Clark
2016-03-23 18:47 ` [RFC 2/6] dma-buf/fence: add struct fence_collection Gustavo Padovan
2016-03-23 18:47 ` [RFC 3/6] dma-buf/sync_file: add sync_file_fences_get() Gustavo Padovan
2016-03-23 18:47 ` [RFC 4/6] dma-buf/fence: add fence_collection_put() Gustavo Padovan
2016-03-23 18:47 ` [RFC 5/6] dma-buf/fence: add fence_collection_wait() Gustavo Padovan
2016-03-23 18:47 ` [RFC 6/6] drm/fence: support fence_collection on atomic commit Gustavo Padovan
2016-03-24  7:20 ` [RFC 0/6] drm/fences: add in-fences to DRM Maarten Lankhorst
2016-03-24 14:31   ` Gustavo Padovan
2016-03-24  8:18 ` Inki Dae
2016-03-24 14:39   ` Gustavo Padovan
2016-03-24 23:03     ` Inki Dae
2016-03-24 15:40   ` Rob Clark
2016-03-24 23:49     ` Inki Dae
2016-03-25 11:58       ` Rob Clark
2016-03-25 12:10         ` Daniel Stone
2016-03-28  1:26           ` Inki Dae
2016-03-28 13:26             ` Daniel Stone
2016-03-29  2:18               ` Inki Dae
2016-03-29 13:23                 ` Rob Clark
2016-03-31  7:45                   ` Inki Dae
2016-03-31  9:35                     ` Daniel Stone
2016-03-31 10:04                       ` Daniel Vetter
2016-03-31 11:40                         ` Inki Dae
2016-03-31 10:05                       ` Inki Dae [this message]
2016-03-31 10:56                         ` Daniel Stone
2016-03-31 11:26                           ` Inki Dae
2016-03-31 11:41                             ` Daniel Stone
2016-03-31 14:10                             ` Rob Clark
2016-04-04  0:14                               ` Inki Dae
2016-04-04 15:41                                 ` Rob Clark
2016-04-04 15:46                                   ` Rob Clark

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=56FCF67A.8090109@samsung.com \
    --to=inki.dae@samsung.com \
    --cc=John.C.Harrison@intel.com \
    --cc=arve@android.com \
    --cc=daniel.vetter@ffwll.ch \
    --cc=daniel@fooishbar.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=gustavo.padovan@collabora.co.uk \
    --cc=linux-kernel@vger.kernel.org \
    --cc=riandrews@android.com \
    --cc=robdclark@gmail.com \
    /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