iommu.lists.linux-foundation.org archive mirror
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Thiago Jung Bauermann <bauerman@linux.ibm.com>
Cc: Christoph Hellwig <hch@lst.de>, Jason Wang <jasowang@redhat.com>,
	virtualization@lists.linux-foundation.org,
	linuxppc-dev@lists.ozlabs.org, iommu@lists.linux-foundation.org,
	linux-kernel@vger.kernel.org,
	David Gibson <david@gibson.dropbear.id.au>,
	Alexey Kardashevskiy <aik@linux.ibm.com>,
	Paul Mackerras <paulus@ozlabs.org>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Ram Pai <linuxram@us.ibm.com>,
	Jean-Philippe Brucker <jean-philippe.brucker@arm.com>
Subject: Re: [RFC PATCH] virtio_ring: Use DMA API if guest memory is encrypted
Date: Mon, 4 Feb 2019 16:38:21 -0500	[thread overview]
Message-ID: <20190204152416-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <875ztzxvw2.fsf@morokweng.localdomain>

On Mon, Feb 04, 2019 at 04:15:41PM -0200, Thiago Jung Bauermann wrote:
> 
> Christoph Hellwig <hch@lst.de> writes:
> 
> > On Tue, Jan 29, 2019 at 09:36:08PM -0500, Michael S. Tsirkin wrote:
> >> This has been discussed ad nauseum. virtio is all about compatibility.
> >> Losing a couple of lines of code isn't worth breaking working setups.
> >> People that want "just use DMA API no tricks" now have the option.
> >> Setting a flag in a feature bit map is literally a single line
> >> of code in the hypervisor. So stop pushing for breaking working
> >> legacy setups and just fix it in the right place.
> >
> > I agree with the legacy aspect.  What I am missing is an extremely
> > strong wording that says you SHOULD always set this flag for new
> > hosts, including an explanation why.
> 
> My understanding of ACCESS_PLATFORM is that it means "this device will
> behave in all aspects like a regular device attached to this bus".


Not really. Look it up in the spec:

VIRTIO_F_ACCESS_PLATFORM(33) This feature indicates that the device can be used on a platform
	where device access to data in memory is limited and/or translated. E.g. this is the case if the device
	can be located behind an IOMMU that translates bus addresses from the device into physical addresses
	in memory, if the device can be limited to only access certain memory addresses or if special commands
	such as a cache flush can be needed to synchronise data in memory with the device. Whether accesses
	are actually limited or translated is described by platform-specific means. If this feature bit is set to 0,
	then the device has same access to memory addresses supplied to it as the driver has. In particular, the
	device will always use physical addresses matching addresses used by the driver (typically meaning
	physical addresses used by the CPU) and not translated further, and can access any address supplied
	to it by the driver. When clear, this overrides any platform-specific description of whether device access
	is limited or translated in any way, e.g. whether an IOMMU may be present.



> Is
> that it? Therefore it should be set because it's the sane thing to do?

It's the sane thing to do unless you want the very specific thing that
having it clear means, which is just have it be another CPU.

It was designed to make, when set, as many guests as we can work
correctly, and it seems to be successful in doing exactly that.

Unfortunately there could be legacy guests that do work correctly but
become slow. Whether trying to somehow work around that
can paint us into a corner where things again don't
work for some people is a question worth discussing.


> --
> Thiago Jung Bauermann
> IBM Linux Technology Center

  reply	other threads:[~2019-02-04 21:38 UTC|newest]

Thread overview: 64+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-29 17:08 [RFC PATCH] virtio_ring: Use DMA API if guest memory is encrypted Thiago Jung Bauermann
2019-01-29 17:42 ` Thiago Jung Bauermann
2019-01-29 19:02   ` Michael S. Tsirkin
2019-01-30  2:24     ` Jason Wang
2019-01-30  2:36       ` Michael S. Tsirkin
2019-01-30  3:05         ` Jason Wang
2019-01-30  3:26           ` Michael S. Tsirkin
2019-01-30  7:44         ` Christoph Hellwig
2019-02-04 18:15           ` Thiago Jung Bauermann
2019-02-04 21:38             ` Michael S. Tsirkin [this message]
2019-02-05  7:24               ` Christoph Hellwig
     [not found]                 ` <20190205072407.GA4311-jcswGhMUV9g@public.gmane.org>
2019-02-05 16:13                   ` Michael S. Tsirkin
2019-03-26 16:53           ` Michael S. Tsirkin
2019-02-04 18:14     ` Thiago Jung Bauermann
2019-02-04 20:23       ` Michael S. Tsirkin
2019-03-20 16:13         ` Thiago Jung Bauermann
2019-03-20 21:17           ` Michael S. Tsirkin
2019-03-22  0:05             ` Thiago Jung Bauermann
2019-03-23 21:01               ` Michael S. Tsirkin
2019-03-25  0:57                 ` David Gibson
2019-04-17 21:42                   ` Thiago Jung Bauermann
2019-04-17 21:42                     ` Thiago Jung Bauermann
     [not found]                 ` <20190323165456-mutt-send-email-mst-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2019-04-17 21:42                   ` Thiago Jung Bauermann
2019-04-17 21:42                     ` Thiago Jung Bauermann
2019-04-19 23:09                     ` Michael S. Tsirkin
2019-04-19 23:09                       ` Michael S. Tsirkin
2019-04-25  1:01                       ` Thiago Jung Bauermann
2019-04-25  1:01                         ` Thiago Jung Bauermann
     [not found]                         ` <875zr228zf.fsf-wxVGo8vDogbJvNEK5ZsId7p2dZbC/Bob@public.gmane.org>
2019-04-25  1:18                           ` Michael S. Tsirkin
2019-04-25  1:18                             ` Michael S. Tsirkin
2019-04-26 23:56                             ` Thiago Jung Bauermann
2019-04-26 23:56                               ` Thiago Jung Bauermann
2019-05-20 13:08                               ` Michael S. Tsirkin
2019-05-20 13:16                     ` Michael S. Tsirkin
2019-06-04  1:13                       ` Thiago Jung Bauermann
2019-06-04  1:42                         ` Michael S. Tsirkin
2019-06-28  1:58                           ` Thiago Jung Bauermann
2019-07-01 14:17                             ` Michael S. Tsirkin
2019-07-14  5:51                               ` Thiago Jung Bauermann
2019-07-15 14:35                                 ` Michael S. Tsirkin
2019-07-15 20:29                                   ` Thiago Jung Bauermann
2019-07-15 20:36                                     ` Michael S. Tsirkin
2019-07-15 22:03                                       ` Thiago Jung Bauermann
2019-07-15 22:16                                         ` Michael S. Tsirkin
2019-07-15 23:05                                           ` Thiago Jung Bauermann
2019-07-15 23:24                                         ` Benjamin Herrenschmidt
2019-07-18  3:39                                 ` Thiago Jung Bauermann
2019-08-10 18:57 ` Michael S. Tsirkin
2019-08-10 22:07   ` Ram Pai
2019-08-11  5:56     ` Christoph Hellwig
2019-08-11  6:46       ` Ram Pai
2019-08-11  8:44         ` Michael S. Tsirkin
2019-08-12 12:13         ` Christoph Hellwig
2019-08-12 20:29           ` Ram Pai
2019-08-11  8:42       ` Michael S. Tsirkin
2019-08-11  8:55       ` Michael S. Tsirkin
2019-08-12 12:15         ` Christoph Hellwig
2019-09-06  5:07           ` Michael S. Tsirkin
2019-08-12  9:51       ` David Gibson
2019-08-13 13:26         ` Christoph Hellwig
2019-08-13 14:24           ` David Gibson
2019-08-13 15:45             ` Ram Pai
2019-08-26 17:48               ` Ram Pai
2019-08-11  8:12     ` Michael S. Tsirkin

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=20190204152416-mutt-send-email-mst@kernel.org \
    --to=mst@redhat.com \
    --cc=aik@linux.ibm.com \
    --cc=bauerman@linux.ibm.com \
    --cc=benh@kernel.crashing.org \
    --cc=david@gibson.dropbear.id.au \
    --cc=hch@lst.de \
    --cc=iommu@lists.linux-foundation.org \
    --cc=jasowang@redhat.com \
    --cc=jean-philippe.brucker@arm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=linuxram@us.ibm.com \
    --cc=paulus@ozlabs.org \
    --cc=virtualization@lists.linux-foundation.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;
as well as URLs for NNTP newsgroup(s).