All of lore.kernel.org
 help / color / mirror / Atom feed
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

  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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.