All of lore.kernel.org
 help / color / mirror / Atom feed
From: Julien Grall <julien.grall@arm.com>
To: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>,
	Christoph Hellwig <hch@infradead.org>
Cc: "jgross@suse.com" <jgross@suse.com>,
	Oleksandr Andrushchenko <andr2000@gmail.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"dri-devel@lists.freedesktop.org"
	<dri-devel@lists.freedesktop.org>,
	"noralf@tronnes.org" <noralf@tronnes.org>,
	Gerd Hoffmann <kraxel@redhat.com>,
	"daniel.vetter@intel.com" <daniel.vetter@intel.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"boris.ostrovsky@oracle.com" <boris.ostrovsky@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [Xen-devel] [PATCH v2] drm/xen-front: Make shmem backed display buffer coherent
Date: Fri, 18 Jan 2019 11:43:32 +0000	[thread overview]
Message-ID: <2ed681b9-c8d4-ea27-6b8b-e399ed034bda@arm.com> (raw)
In-Reply-To: <1cfc5cb4-e481-5d71-29df-958db76fb681@epam.com>

(+ Stefano)

Hi,

Sorry for jumping late in the conversation.

On 18/01/2019 09:40, Oleksandr Andrushchenko wrote:
> On 1/17/19 11:18 AM, Christoph Hellwig wrote:
>> 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?
> I'll have to get even deeper into it. Initially I
> looked at the code, but didn't find anything useful.
> Or maybe I have just overlooked obvious things there
 From Xen on Arm ABI:

"All memory which is shared with other entities in the system
(including the hypervisor and other guests) must reside in memory
which is mapped as Normal Inner Write-Back Outer Write-Back Inner-Shareable.
This applies to:
   - hypercall arguments passed via a pointer to guest memory.
   - memory shared via the grant table mechanism (including PV I/O
     rings etc).
   - memory shared with the hypervisor (struct shared_info, struct
     vcpu_info, the grant table, etc).
"

So you should not need any cache maintenance here. Can you provide more details 
on the memory attribute you use for memory shared in both the backend and frontend?

Cheers,

> 
> Thank you,
> Oleksandr
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xenproject.org
> https://lists.xenproject.org/mailman/listinfo/xen-devel
> 

-- 
Julien Grall

  parent reply	other threads:[~2019-01-18 11:43 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-15 14:04 [PATCH v2] drm/xen-front: Make shmem backed display buffer coherent Oleksandr Andrushchenko
2019-01-16  6:30 ` Gerd Hoffmann
2019-01-16  6:36   ` Christoph Hellwig
2019-01-16  6:36   ` Christoph Hellwig
2019-01-16  6:43     ` Oleksandr Andrushchenko
2019-01-16  6:43     ` Oleksandr Andrushchenko
2019-01-17  9:18       ` Christoph Hellwig
2019-01-18  9:40         ` Oleksandr Andrushchenko
2019-01-18 11:43           ` Julien Grall
2019-01-18 11:43           ` Julien Grall [this message]
2019-01-21 12:43             ` [Xen-devel] " Oleksandr Andrushchenko
2019-01-21 17:09               ` Julien Grall
2019-01-21 17:09               ` [Xen-devel] " Julien Grall
2019-01-22 10:28                 ` Oleksandr Andrushchenko
2019-01-22 11:44                   ` Julien Grall
2019-01-22 11:44                   ` [Xen-devel] " Julien Grall
2019-01-24 14:34                     ` Oleksandr Andrushchenko
2019-01-24 14:34                     ` [Xen-devel] " Oleksandr Andrushchenko
2019-01-24 15:02                       ` Julien Grall
2019-01-24 15:02                       ` [Xen-devel] " Julien Grall
2019-01-29 14:46                         ` Oleksandr Andrushchenko
2019-01-29 14:46                         ` [Xen-devel] " Oleksandr Andrushchenko
2019-01-30  8:39                         ` Oleksandr Andrushchenko
2019-01-30  8:39                         ` [Xen-devel] " Oleksandr Andrushchenko
2019-01-22 10:28                 ` Oleksandr Andrushchenko
2019-01-21 12:43             ` Oleksandr Andrushchenko
2019-01-18  9:40         ` Oleksandr Andrushchenko
2019-01-17  9:18       ` Christoph Hellwig
2019-01-16  6:37   ` Oleksandr Andrushchenko
2019-01-16  6:37   ` Oleksandr Andrushchenko
2019-01-16  6:30 ` Gerd Hoffmann

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=2ed681b9-c8d4-ea27-6b8b-e399ed034bda@arm.com \
    --to=julien.grall@arm.com \
    --cc=Oleksandr_Andrushchenko@epam.com \
    --cc=andr2000@gmail.com \
    --cc=boris.ostrovsky@oracle.com \
    --cc=daniel.vetter@intel.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=hch@infradead.org \
    --cc=jgross@suse.com \
    --cc=kraxel@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=noralf@tronnes.org \
    --cc=sstabellini@kernel.org \
    --cc=xen-devel@lists.xenproject.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.