From: Maarten Lankhorst <maarten.lankhorst@canonical.com>
To: Chris Wilson <chris@chris-wilson.co.uk>,
Dave Airlie <airlied@gmail.com>,
intel-gfx@lists.freedesktop.org, xorg-devel@lists.x.org,
Daniel Vetter <daniel.vetter@ffwll.ch>
Subject: Re: gpu outputs slave and cache flushing
Date: Tue, 30 Jul 2013 10:48:05 +0200 [thread overview]
Message-ID: <51F77DC5.5040802@canonical.com> (raw)
In-Reply-To: <20130730081348.GD27041@cantiga.alporthouse.com>
Op 30-07-13 10:13, Chris Wilson schreef:
> On Tue, Jul 30, 2013 at 03:04:22PM +1000, Dave Airlie wrote:
>> Hey,
>>
>> so I put a patch into intel driver a while ago to avoid doing a bo
>> flush using map/unmap for output slave device if the kernel has vmap
>> flushing
>>
>> However on reflection I realised this only works for CPU accessing
>> devices like UDL but doesn't work for GPU accessing devices like
>> nouveau/radeon,
>>
>> Going forward I'm sure we'll eventually get GPU sync via Maarten's
>> patches but I'm thinking I should revert this change in the intel
>> driver for now,
>> so reverse optimus can work properly
>>
>> Anyone got any ideas for a better plan going forward, maybe a stop gap
>> before Maartens patches.
> I don't think it is possible to w/a this in userspace, so let's blame
> Daniel^WBen for this mess and cheer on our knight in shining armour.
> Go Maarten! But we need to be sure there is a similar synchronisation
> point for CPU access to a foriegn dma-buf.
> -Chris
>
It's complicated, and probably best suited to discuss at linux plumbers. :)
It probably won't work without changing how the dma-buf locking is done,
and for intel also depends on proper ww_mutex support.
I think using reservation objects and fences in intel is the right way to go,
and would allow for a less invasive integration of synchronization.
In my experimental tree I used a hack in the execbuffer before to reserve all
bo's, but the approach I took was rather hacky, and only applied to dma-bufs.
Correct handling is probably better done by someone who understands i915 better than me.
~Maarten
next prev parent reply other threads:[~2013-07-30 8:48 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-30 5:04 gpu outputs slave and cache flushing Dave Airlie
[not found] ` <CAPM=9tygDBVbfpJH5c6xY3CWZhKBTLE6P30Ck3z1srQ_FDTuyQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-07-30 8:13 ` [Intel-gfx] " Chris Wilson
2013-07-30 8:48 ` Maarten Lankhorst [this message]
2013-08-05 6:11 ` Daniel Vetter
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=51F77DC5.5040802@canonical.com \
--to=maarten.lankhorst@canonical.com \
--cc=airlied@gmail.com \
--cc=chris@chris-wilson.co.uk \
--cc=daniel.vetter@ffwll.ch \
--cc=intel-gfx@lists.freedesktop.org \
--cc=xorg-devel@lists.x.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