All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Gibson <david@gibson.dropbear.id.au>
To: Ram Pai <linuxram@us.ibm.com>
Cc: "Michael S. Tsirkin" <mst@redhat.com>,
	Halil Pasic <pasic@linux.ibm.com>,
	Jason Wang <jasowang@redhat.com>,
	Marek Szyprowski <m.szyprowski@samsung.com>,
	Robin Murphy <robin.murphy@arm.com>,
	Christoph Hellwig <hch@lst.de>,
	linux-s390@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	linux-kernel@vger.kernel.org, iommu@lists.linux-foundation.org,
	Christian Borntraeger <borntraeger@de.ibm.com>,
	Janosch Frank <frankja@linux.ibm.com>,
	Viktor Mihajlovski <mihajlov@linux.ibm.com>,
	Cornelia Huck <cohuck@redhat.com>,
	Thiago Jung Bauermann <bauerman@linux.ibm.com>,
	"Lendacky, Thomas" <Thomas.Lendacky@amd.com>,
	Michael Mueller <mimu@linux.ibm.com>
Subject: Re: [PATCH 2/2] virtio: let virtio use DMA API when guest RAM is protected
Date: Fri, 21 Feb 2020 14:29:07 +1100	[thread overview]
Message-ID: <20200221032907.GD2298@umbus.fritz.box> (raw)
In-Reply-To: <20200221011748.GE5713@oc0525413822.ibm.com>

[-- Attachment #1: Type: text/plain, Size: 2599 bytes --]

On Thu, Feb 20, 2020 at 05:17:48PM -0800, Ram Pai wrote:
> On Thu, Feb 20, 2020 at 03:55:14PM -0500, Michael S. Tsirkin wrote:
> > On Thu, Feb 20, 2020 at 05:06:06PM +0100, Halil Pasic wrote:
> > > Currently the advanced guest memory protection technologies (AMD SEV,
> > > powerpc secure guest technology and s390 Protected VMs) abuse the
> > > VIRTIO_F_IOMMU_PLATFORM flag to make virtio core use the DMA API, which
> > > is in turn necessary, to make IO work with guest memory protection.
> > > 
> > > But VIRTIO_F_IOMMU_PLATFORM a.k.a. VIRTIO_F_ACCESS_PLATFORM is really a
> > > different beast: with virtio devices whose implementation runs on an SMP
> > > CPU we are still fine with doing all the usual optimizations, it is just
> > > that we need to make sure that the memory protection mechanism does not
> > > get in the way. The VIRTIO_F_ACCESS_PLATFORM mandates more work on the
> > > side of the guest (and possibly he host side as well) than we actually
> > > need.
> > > 
> > > An additional benefit of teaching the guest to make the right decision
> > > (and use DMA API) on it's own is: removing the need, to mandate special
> > > VM configuration for guests that may run with protection. This is
> > > especially interesting for s390 as VIRTIO_F_IOMMU_PLATFORM pushes all
> > > the virtio control structures into the first 2G of guest memory:
> > > something we don't necessarily want to do per-default.
> > > 
> > > Signed-off-by: Halil Pasic <pasic@linux.ibm.com>
> > > Tested-by: Ram Pai <linuxram@us.ibm.com>
> > > Tested-by: Michael Mueller <mimu@linux.ibm.com>
> > 
> > This might work for you but it's fragile, since without
> > VIRTIO_F_ACCESS_PLATFORM hypervisor assumes it gets
> > GPA's, not DMA addresses.
> > 
> > 
> > 
> > IOW this looks like another iteration of:
> > 
> > 	virtio: Support encrypted memory on powerpc secure guests
> > 
> > which I was under the impression was abandoned as unnecessary.
> 
> It has been abondoned on powerpc. We enabled VIRTIO_F_ACCESS_PLATFORM;
> by default, flag on powerpc.

Uh... we haven't yet, though we're working on it.

> We would like to enable secure guests on powerpc without this flag
> aswell enabled, but past experience has educated us that its not a easy
> path.  However if Halil makes some inroads in this path for s390, we
> will like to support him.
> 
> 
> RP
> 

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: David Gibson <david@gibson.dropbear.id.au>
To: Ram Pai <linuxram@us.ibm.com>
Cc: linux-s390@vger.kernel.org, Janosch Frank <frankja@linux.ibm.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Cornelia Huck <cohuck@redhat.com>,
	linux-kernel@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	Halil Pasic <pasic@linux.ibm.com>,
	Christian Borntraeger <borntraeger@de.ibm.com>,
	iommu@lists.linux-foundation.org,
	Michael Mueller <mimu@linux.ibm.com>,
	"Lendacky, Thomas" <Thomas.Lendacky@amd.com>,
	Viktor Mihajlovski <mihajlov@linux.ibm.com>,
	Robin Murphy <robin.murphy@arm.com>,
	Christoph Hellwig <hch@lst.de>
Subject: Re: [PATCH 2/2] virtio: let virtio use DMA API when guest RAM is protected
Date: Fri, 21 Feb 2020 14:29:07 +1100	[thread overview]
Message-ID: <20200221032907.GD2298@umbus.fritz.box> (raw)
In-Reply-To: <20200221011748.GE5713@oc0525413822.ibm.com>


[-- Attachment #1.1: Type: text/plain, Size: 2599 bytes --]

On Thu, Feb 20, 2020 at 05:17:48PM -0800, Ram Pai wrote:
> On Thu, Feb 20, 2020 at 03:55:14PM -0500, Michael S. Tsirkin wrote:
> > On Thu, Feb 20, 2020 at 05:06:06PM +0100, Halil Pasic wrote:
> > > Currently the advanced guest memory protection technologies (AMD SEV,
> > > powerpc secure guest technology and s390 Protected VMs) abuse the
> > > VIRTIO_F_IOMMU_PLATFORM flag to make virtio core use the DMA API, which
> > > is in turn necessary, to make IO work with guest memory protection.
> > > 
> > > But VIRTIO_F_IOMMU_PLATFORM a.k.a. VIRTIO_F_ACCESS_PLATFORM is really a
> > > different beast: with virtio devices whose implementation runs on an SMP
> > > CPU we are still fine with doing all the usual optimizations, it is just
> > > that we need to make sure that the memory protection mechanism does not
> > > get in the way. The VIRTIO_F_ACCESS_PLATFORM mandates more work on the
> > > side of the guest (and possibly he host side as well) than we actually
> > > need.
> > > 
> > > An additional benefit of teaching the guest to make the right decision
> > > (and use DMA API) on it's own is: removing the need, to mandate special
> > > VM configuration for guests that may run with protection. This is
> > > especially interesting for s390 as VIRTIO_F_IOMMU_PLATFORM pushes all
> > > the virtio control structures into the first 2G of guest memory:
> > > something we don't necessarily want to do per-default.
> > > 
> > > Signed-off-by: Halil Pasic <pasic@linux.ibm.com>
> > > Tested-by: Ram Pai <linuxram@us.ibm.com>
> > > Tested-by: Michael Mueller <mimu@linux.ibm.com>
> > 
> > This might work for you but it's fragile, since without
> > VIRTIO_F_ACCESS_PLATFORM hypervisor assumes it gets
> > GPA's, not DMA addresses.
> > 
> > 
> > 
> > IOW this looks like another iteration of:
> > 
> > 	virtio: Support encrypted memory on powerpc secure guests
> > 
> > which I was under the impression was abandoned as unnecessary.
> 
> It has been abondoned on powerpc. We enabled VIRTIO_F_ACCESS_PLATFORM;
> by default, flag on powerpc.

Uh... we haven't yet, though we're working on it.

> We would like to enable secure guests on powerpc without this flag
> aswell enabled, but past experience has educated us that its not a easy
> path.  However if Halil makes some inroads in this path for s390, we
> will like to support him.
> 
> 
> RP
> 

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

[-- Attachment #2: Type: text/plain, Size: 156 bytes --]

_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

  reply	other threads:[~2020-02-21  3:37 UTC|newest]

Thread overview: 124+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-20 16:06 [PATCH 0/2] virtio: decouple protected guest RAM form VIRTIO_F_IOMMU_PLATFORM Halil Pasic
2020-02-20 16:06 ` Halil Pasic
2020-02-20 16:06 ` [PATCH 1/2] mm: move force_dma_unencrypted() to mem_encrypt.h Halil Pasic
2020-02-20 16:06   ` Halil Pasic
2020-02-20 16:11   ` Christoph Hellwig
2020-02-20 16:11     ` Christoph Hellwig
2020-02-20 16:23     ` Christian Borntraeger
2020-02-20 16:23       ` Christian Borntraeger
2020-02-20 16:31       ` Christoph Hellwig
2020-02-20 16:31         ` Christoph Hellwig
2020-02-20 16:31         ` Christoph Hellwig
2020-02-20 17:00         ` Christian Borntraeger
2020-02-20 17:00           ` Christian Borntraeger
2020-02-21  3:27         ` David Gibson
2020-02-21  3:27           ` David Gibson
2020-02-21 13:06           ` Halil Pasic
2020-02-21 13:06             ` Halil Pasic
2020-02-21 15:48             ` Michael S. Tsirkin
2020-02-21 15:48               ` Michael S. Tsirkin
2020-02-21 18:07               ` Halil Pasic
2020-02-21 18:07                 ` Halil Pasic
2020-02-24  3:33                 ` David Gibson
2020-02-24  3:33                   ` David Gibson
2020-02-24 18:49                   ` Halil Pasic
2020-02-24 18:49                     ` Halil Pasic
2020-02-25 18:08                     ` Cornelia Huck
2020-02-25 18:08                       ` Cornelia Huck
2020-02-28  0:23                       ` David Gibson
2020-02-28  0:23                         ` David Gibson
2020-02-20 16:06 ` [PATCH 2/2] virtio: let virtio use DMA API when guest RAM is protected Halil Pasic
2020-02-20 16:06   ` Halil Pasic
2020-02-20 16:13   ` Christoph Hellwig
2020-02-20 16:13     ` Christoph Hellwig
2020-02-21  2:59     ` David Gibson
2020-02-21  2:59       ` David Gibson
2020-02-21  3:41       ` Jason Wang
2020-02-21  3:41         ` Jason Wang
2020-02-21 13:31         ` Halil Pasic
2020-02-21 13:31           ` Halil Pasic
2020-02-21 13:27       ` Halil Pasic
2020-02-21 13:27         ` Halil Pasic
2020-02-21 16:36       ` Christoph Hellwig
2020-02-21 16:36         ` Christoph Hellwig
2020-02-24  6:50         ` David Gibson
2020-02-24  6:50           ` David Gibson
2020-02-24 18:59         ` Halil Pasic
2020-02-24 18:59           ` Halil Pasic
2020-02-24 18:59           ` Halil Pasic
2020-02-21 14:33     ` Halil Pasic
2020-02-21 14:33       ` Halil Pasic
2020-02-21 16:39       ` Christoph Hellwig
2020-02-21 16:39         ` Christoph Hellwig
2020-02-21 18:16         ` Halil Pasic
2020-02-21 18:16           ` Halil Pasic
2020-02-21 18:16           ` Halil Pasic
2020-02-22 19:07       ` Michael S. Tsirkin
2020-02-22 19:07         ` Michael S. Tsirkin
2020-02-24 17:16         ` Christoph Hellwig
2020-02-24 17:16           ` Christoph Hellwig
2020-10-28 14:24           ` Alexander Graf via iommu
2020-10-28 18:01             ` Michael S. Tsirkin
2020-10-28 18:01               ` Michael S. Tsirkin
2020-10-28 18:01               ` Michael S. Tsirkin
2020-02-20 20:55   ` Michael S. Tsirkin
2020-02-20 20:55     ` Michael S. Tsirkin
2020-02-21  1:17     ` Ram Pai
2020-02-21  1:17       ` Ram Pai
2020-02-21  1:17       ` Ram Pai
2020-02-21  3:29       ` David Gibson [this message]
2020-02-21  3:29         ` David Gibson
2020-02-21 13:12     ` Halil Pasic
2020-02-21 13:12       ` Halil Pasic
2020-02-21 15:39       ` Tom Lendacky
2020-02-21 15:39         ` Tom Lendacky
2020-02-24  6:40         ` David Gibson
2020-02-24  6:40           ` David Gibson
2020-02-24  6:40           ` David Gibson
2020-02-21 15:56       ` Michael S. Tsirkin
2020-02-21 15:56         ` Michael S. Tsirkin
2020-02-21 16:35         ` Christoph Hellwig
2020-02-21 16:35           ` Christoph Hellwig
2020-02-21 18:03         ` Halil Pasic
2020-02-21 18:03           ` Halil Pasic
2020-02-20 20:48 ` [PATCH 0/2] virtio: decouple protected guest RAM form VIRTIO_F_IOMMU_PLATFORM Michael S. Tsirkin
2020-02-20 20:48   ` Michael S. Tsirkin
2020-02-20 21:29 ` Michael S. Tsirkin
2020-02-20 21:29   ` Michael S. Tsirkin
2020-02-21 13:37   ` Halil Pasic
2020-02-21 13:37     ` Halil Pasic
2020-02-20 21:33 ` Michael S. Tsirkin
2020-02-20 21:33   ` Michael S. Tsirkin
2020-02-21 13:49   ` Halil Pasic
2020-02-21 13:49     ` Halil Pasic
2020-02-21 16:41   ` Christoph Hellwig
2020-02-21 16:41     ` Christoph Hellwig
2020-02-24  5:44     ` David Gibson
2020-02-24  5:44       ` David Gibson
2020-02-24  5:44       ` David Gibson
2020-02-21  6:22 ` Jason Wang
2020-02-21  6:22   ` Jason Wang
2020-02-21 14:56   ` Halil Pasic
2020-02-21 14:56     ` Halil Pasic
2020-02-24  3:38     ` David Gibson
2020-02-24  3:38       ` David Gibson
2020-02-24  4:01     ` Jason Wang
2020-02-24  4:01       ` Jason Wang
2020-02-24  4:01       ` Jason Wang
2020-02-24  6:06       ` Michael S. Tsirkin
2020-02-24  6:06         ` Michael S. Tsirkin
2020-02-24  6:45         ` Jason Wang
2020-02-24  6:45           ` Jason Wang
2020-02-24  7:48           ` Michael S. Tsirkin
2020-02-24  7:48             ` Michael S. Tsirkin
2020-02-24  9:26             ` Jason Wang
2020-02-24  9:26               ` Jason Wang
2020-02-24 13:40               ` Michael S. Tsirkin
2020-02-24 13:40                 ` Michael S. Tsirkin
2020-02-25  3:38                 ` Jason Wang
2020-02-25  3:38                   ` Jason Wang
2020-02-24 13:56               ` Halil Pasic
2020-02-24 13:56                 ` Halil Pasic
2020-02-25  3:30                 ` Jason Wang
2020-02-25  3:30                   ` Jason Wang
2020-02-25  3:30                   ` Jason Wang

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=20200221032907.GD2298@umbus.fritz.box \
    --to=david@gibson.dropbear.id.au \
    --cc=Thomas.Lendacky@amd.com \
    --cc=bauerman@linux.ibm.com \
    --cc=borntraeger@de.ibm.com \
    --cc=cohuck@redhat.com \
    --cc=frankja@linux.ibm.com \
    --cc=hch@lst.de \
    --cc=iommu@lists.linux-foundation.org \
    --cc=jasowang@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=linuxram@us.ibm.com \
    --cc=m.szyprowski@samsung.com \
    --cc=mihajlov@linux.ibm.com \
    --cc=mimu@linux.ibm.com \
    --cc=mst@redhat.com \
    --cc=pasic@linux.ibm.com \
    --cc=robin.murphy@arm.com \
    --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 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.