[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190117091815.GA7090@infradead.org>
Date: Thu, 17 Jan 2019 01:18:15 -0800
From: Christoph Hellwig <hch@...radead.org>
To: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@...m.com>
Cc: Christoph Hellwig <hch@...radead.org>,
Gerd Hoffmann <kraxel@...hat.com>,
Oleksandr Andrushchenko <andr2000@...il.com>,
"xen-devel@...ts.xenproject.org" <xen-devel@...ts.xenproject.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"dri-devel@...ts.freedesktop.org" <dri-devel@...ts.freedesktop.org>,
"daniel.vetter@...el.com" <daniel.vetter@...el.com>,
"jgross@...e.com" <jgross@...e.com>,
"boris.ostrovsky@...cle.com" <boris.ostrovsky@...cle.com>,
"noralf@...nnes.org" <noralf@...nnes.org>
Subject: Re: [PATCH v2] drm/xen-front: Make shmem backed display buffer
coherent
On Wed, Jan 16, 2019 at 06:43:29AM +0000, Oleksandr Andrushchenko wrote:
> > This whole issue keeps getting more and more confusing.
> Well, I don't really do DMA here, but instead the buffers in
> question are shared with other Xen domain, so effectively it
> could be thought of some sort of DMA here, where the "device" is
> that remote domain. If the buffers are not flushed then the
> remote part sees some inconsistency which in my case results
> in artifacts on screen while displaying the buffers.
> When buffers are allocated via DMA API then there are no artifacts;
> if buffers are allocated with shmem + DMA mapping then there are no
> artifacts as well.
> The only offending use-case is when I use shmem backed buffers,
> but do not flush them
The right answer would be to implement cache maintainance hooks for
this case in the Xen arch code. These would basically look the same
as the low-level cache maintainance used by the DMA ops, but without
going through the DMA mapping layer, in fact they should probably
reuse the same low-level assembly routines.
I don't think this is the first usage of such Xen buffer sharing, so
what do the other users do?
Powered by blists - more mailing lists