From: Lucas Stach <l.stach@pengutronix.de>
To: "Christian König" <deathsimple@vodafone.de>
Cc: etnaviv@lists.freedesktop.org, dri-devel@lists.freedesktop.org
Subject: Re: [PATCH 1/3] drm/etnaviv: submit support for in-fences
Date: Sun, 19 Mar 2017 15:14:38 +0100 [thread overview]
Message-ID: <1489932878.2219.3.camel@pengutronix.de> (raw)
In-Reply-To: <33d60762-16ee-1abe-3b0e-244be8076507@vodafone.de>
Am Samstag, den 18.03.2017, 15:19 +0100 schrieb Christian König:
> Am 17.03.2017 um 15:58 schrieb Lucas Stach:
> > Am Freitag, den 17.03.2017, 14:42 +0000 schrieb Russell King - ARM
> > Linux:
> > > On Fri, Mar 17, 2017 at 03:10:21PM +0100, Lucas Stach wrote:
> > > > Am Donnerstag, den 16.03.2017, 12:05 +0100 schrieb Philipp
> > > > Zabel:
> > > > > Hi Gustavo,
> > > > >
> > > > > On Mon, 2017-03-13 at 14:37 -0300, Gustavo Padovan wrote:
> > > > > [...]
> > > > > > I was thinking on some function that would iterate over all
> > > > > > fences in
> > > > > > the fence_array and check their context. The if we find our
> > > > > > own gpu
> > > > > > context in there we fail the submit.
> > > > >
> > > > > Why would we have to fail if somebody feeds us our own
> > > > > fences? Wouldn't
> > > > > it be enough to just wait if there are foreign fences in the
> > > > > array?
> > > >
> > > > Yes, skipping the wait if all fences are from our own context
> > > > is an
> > > > optimization and it's certainly not an issue if someone feeds
> > > > us our own
> > > > fences.
> > >
> > > Are you sure about that - what if we have two GPUs, a 2D and 3D
> > > GPU,
> > > and we're fed an etnaviv fence for one GPU when submitting to the
> > > other GPU.
> > >
> > > So we do end up being fed our own fences, and we have to respect
> > > them
> > > otherwise we lose inter-GPU synchronisation, and that will break
> > > existing userspace.
> > >
> >
> > The etnaviv GPUs, while being on the same DRM device, have distinct
> > fence contexts. So the 3D GPU will consider a fence from the 2D GPU
> > as
> > foreign and properly wait on it.
> >
> > It's only when we get an in fence that has been generated as an out
> > fence by one (or multiple) submits to the same GPU, that we are
> > able to
> > skip the wait and enqueue the command without waiting for the fence
> > to
> > signal.
>
> BTW: Do you still have the needs for a GPU scheduler?
>
> The scheduler amdgpu uses is hopefully still hardware agnostic and
> has
> all that handling already included.
>
> Using it can avoid blocking for foreign fences during your command
> submission and I won't mind seeing that moved into common drm code.
Yes, it's still on my list of features to enable for etnaviv. It's just
that other things like enabling more hardware and getting performance
up had priority over this.
I've looked at the amdgpu scheduler and I agree that it's probably the
right thing to move this out into common code and make use of it in
etnaviv.
Regards,
Lucas
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2017-03-19 14:14 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-08 12:53 [PATCH 1/3] drm/etnaviv: submit support for in-fences Philipp Zabel
2017-03-08 12:53 ` [PATCH 2/3] drm/etnaviv: move fence allocation out of etnaviv_gpu_submit() Philipp Zabel
2017-03-08 14:42 ` Gustavo Padovan
2017-03-08 18:28 ` Russell King - ARM Linux
2017-03-13 11:01 ` Philipp Zabel
2017-03-13 17:30 ` Gustavo Padovan
2017-03-08 12:53 ` [PATCH 3/3] drm/etnaviv: submit support for out-fences Philipp Zabel
2017-03-08 14:48 ` Gustavo Padovan
2017-03-13 10:57 ` Philipp Zabel
2017-03-08 14:37 ` [PATCH 1/3] drm/etnaviv: submit support for in-fences Gustavo Padovan
2017-03-13 10:56 ` Philipp Zabel
2017-03-13 17:37 ` Gustavo Padovan
2017-03-16 11:05 ` Philipp Zabel
2017-03-17 14:00 ` Gustavo Padovan
2017-03-17 14:07 ` Philipp Zabel
2017-03-20 8:14 ` Daniel Vetter
2017-03-17 14:10 ` Lucas Stach
2017-03-17 14:42 ` Russell King - ARM Linux
2017-03-17 14:58 ` Lucas Stach
2017-03-17 15:07 ` Russell King - ARM Linux
2017-03-17 16:13 ` Chris Healy
2017-03-18 14:19 ` Christian König
2017-03-19 14:14 ` Lucas Stach [this message]
2017-03-16 14:03 ` Rob Clark
2017-03-17 13:55 ` Gustavo Padovan
2017-03-17 14:09 ` Philipp Zabel
2017-03-17 14:26 ` Lucas Stach
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=1489932878.2219.3.camel@pengutronix.de \
--to=l.stach@pengutronix.de \
--cc=deathsimple@vodafone.de \
--cc=dri-devel@lists.freedesktop.org \
--cc=etnaviv@lists.freedesktop.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