All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Tian, Kevin" <kevin.tian@intel.com>
To: Jean-Philippe Brucker <jean-philippe.brucker@arm.com>,
	valmiki <valmikibow@gmail.com>,
	Alex Williamson <alex.williamson@redhat.com>
Cc: "iommu@lists.linux-foundation.org"
	<iommu@lists.linux-foundation.org>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
	"linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>,
	"Lan, Tianyu" <tianyu.lan@intel.com>,
	"Pan, Jacob jun" <jacob.jun.pan@intel.com>
Subject: RE: Support SVM without PASID
Date: Fri, 11 Aug 2017 06:29:43 +0000	[thread overview]
Message-ID: <AADFC41AFE54684AB9EE6CBC0274A5D190D6ED70@SHSMSX101.ccr.corp.intel.com> (raw)
In-Reply-To: <b973c557-1b4a-18d2-a05e-28680a49daf9@arm.com>

PiBGcm9tOiBKZWFuLVBoaWxpcHBlIEJydWNrZXIgW21haWx0bzpqZWFuLXBoaWxpcHBlLmJydWNr
ZXJAYXJtLmNvbV0NCj4gU2VudDogRnJpZGF5LCBBdWd1c3QgNCwgMjAxNyA1OjQzIFBNDQo+IA0K
PiBIaSBLZXZpbiwNCj4gDQo+IE9uIDA0LzA4LzE3IDAyOjQ5LCBUaWFuLCBLZXZpbiB3cm90ZToN
Cj4gPj4gRnJvbTogSmVhbi1QaGlsaXBwZSBCcnVja2VyDQo+ID4+IFNlbnQ6IFR1ZXNkYXksIEF1
Z3VzdCAxLCAyMDE3IDQ6MjYgUE0NCj4gPj4NCj4gPj4gSXQgZGVwZW5kcyB3aGF0IHR5cGUgeW91
IHVzZSB3aGVuIHJlZ2lzdGVyaW5nIHRoZSBJT01NVSB3aXRoDQo+ID4+IFZGSU9fU0VUX0lPTU1V
Og0KPiA+Pg0KPiA+PiAqIElmIHRoZSB0eXBlIGlzIFZGSU9fVFlQRTF2Ml9JT01NVSwgdGhlbg0K
PiA+PiBWRklPX0lPTU1VX01BUC9VTk1BUF9ETUENCj4gPj4gICBhZmZlY3RzIHRoZSBzdGFnZS0x
IG5vbi1QQVNJRCBjb250ZXh0IChhbHJlYWR5IHRoZSBjYXNlIGluIG1haW5saW5lKS4NCj4gPj4g
ICBJbiBhZGRpdGlvbiwgd2l0aCBteSBwYXRjaCB0aGUgQklORCBpb2N0bCB3aWxsIGFmZmVjdCBz
dGFnZS0xIFBBU0lEDQo+ID4+ICAgY29udGV4dHMsIGFuZCBiaW5kIHByb2Nlc3MgcGFnZSBkaXJl
Y3RvcmllcyB0byB0aGUgZGV2aWNlIChob3N0IFNWTSkuDQo+ID4+DQo+ID4+ICogSWYgdGhlIHR5
cGUgaXMgVkZJT19UWVBFMV9ORVNUSU5HX0lPTU1VLCB0aGVuDQo+ID4+IFZGSU9fSU9NTVVfTUFQ
L1VOTUFQX0RNQQ0KPiA+PiAgIHdpbGwgYWZmZWN0IHN0YWdlLTIgbWFwcGluZ3MgKGFscmVhZHkg
aW4gbWFpbmxpbmUpLg0KPiA+PiAgIFdpdGggbXkgU01NVSBwYXRjaCBzZXJpZXMsIHRoZSBCSU5E
IGlvY3RsIGlzIG5vdCBzdXBwb3J0ZWQgaW4gdGhpcyBtb2RlLg0KPiA+PiAgIEJ1dCBpbiB0aGUg
ZnV0dXJlLCBCSU5EIHdvdWxkIGFsbG93IHRvIG1hbmFnZSBzdGFnZS0xIGFzIHdlbGw6DQo+ID4+
ICAgLSBiaW5kIGEgcHJvY2VzcyBwYWdlIGRpcmVjdG9yeSAoaG9zdCBTVk0gd2l0aCBhZGRlZCBz
dGFnZS0yKSwgb3INCj4gPg0KPiA+IEkgdGhvdWdodCBob3N0IFNWTSB3aWxsIG9ubHkgZ28gdGhy
b3VnaCBWRklPX1RZUEUxdjJfSU9NTVUsDQo+ID4gc2luY2UgeW91IHNhaWQgc3RhZ2UtMiBpbiBB
Uk0gU01NVSBpcyBvbmx5IGZvciBHUEEtPkhQQSB1c2FnZQ0KPiA+IGluIHByZXZpb3VzIGV4cGxh
bmF0aW9uLiB0aGVuIHdoYXQgZG9lcyAiaG9zdCBTVk0gd2l0aCBhZGRlZA0KPiA+IHN0YWdlLTIi
IG1lYW4gaGVyZT8NCj4gDQo+IEFoLCB0aGF0J3MganVzdCBhIGNyYXp5IGlkZWEgSSBoYWQuIEkn
bSBub3Qgc3VyZSBpdCBpcyB1c2VmdWwgb3Igd29ydGgNCj4gaW1wbGVtZW50aW5nLCBidXQgaXQg
aXMgb25lIG9mIHRoZSBwb3NzaWJpbGl0eSBvZmZlcmVkIGJ5IG5lc3RlZCB0cmFuc2xhdGlvbi4N
Cj4gDQo+IENvbnNpZGVyIHRoZSBzaXR1YXRpb24gd2hlcmUgYSB1c2Vyc3BhY2UgZHJpdmVyIChu
byB2aXJ0dWFsaXphdGlvbikgaXMNCj4gYnVpbHQgaW4gYSBjbGllbnQtc2VydmVyIGZhc2hpb246
IHRoZSBzZXJ2ZXIgY29udHJvbHMgYSBkZXZpY2UgYW5kIHNwYXducw0KPiBuZXcgcHJvY2Vzc2Vz
IChjbGllbnRzKSwgZWFjaCBzaGFyaW5nIGEgY29udGV4dCB3aXRoIHRoZSBkZXZpY2UgdXNpbmcg
aXRzDQo+IG93biBQQVNJRC4gSWYgdGhlIHNlcnZlciB3YW50cyB0byBoaWRlIHBhcnRzIG9mIHRo
ZSBjbGllbnQgYWRkcmVzcyBzcGFjZQ0KPiBmcm9tIHRoZSBkZXZpY2UgKGUuZy4gLnRleHQpLCB0
aGVuIGl0IGNvdWxkIGNvbnRyb2wgc3RhZ2UtMiB2aWEgTUFQL1VOTUFQDQo+IHRvIHJlc3RyaWN0
IHRoZSBhZGRyZXNzIHNwYWNlLg0KDQpzdGFnZS0xIGlzIGxpbmtlZCB0byBDUFUgcGFnZSB0YWJs
ZSAoVkEtPlBBKSBmb3IgU1ZNLCB3aGlsZSBwaHlzaWNhbCANCm1lbW9yeSBpcyBtYW5hZ2VkIGJ5
IGtlcm5lbC4gSSBkaWRuJ3QgY29tZSB1cCBhIGdvb2QgcmVhc29uIHdoeSANCnNlcnZlciBhcHBs
aWNhdGlvbiBuZWVkcyBvciBoYXMga25vd2xlZGdlIHRvIGhpZGUgc29tZSByZXNvdXJjZSANCndo
aWNoIGlzIG5vdCBtYW5hZ2VkIGJ5IGl0c2VsZi4uLg0KDQo+IA0KPiBJdCB3b3VsZCB1c2UgZGlm
ZmVyZW50IHNlbWFudGljcyBvZiBNQVAvVU5NQVAgdGhvdWdoLCBhcyB0aGUgaW9jdGwgd291bGQN
Cj4gb25seSBiZSB1c2VkIHRvIGRlZmluZSAxOjEgdHJhbnNsYXRpb24gd2luZG93cywgbm90IHBp
biBtZW1vcnkuDQo+IA0KPiBUaGFua3MsDQo+IEplYW4NCg==

WARNING: multiple messages have this Message-ID (diff)
From: "Tian, Kevin" <kevin.tian@intel.com>
To: Jean-Philippe Brucker <jean-philippe.brucker@arm.com>,
	valmiki <valmikibow@gmail.com>,
	Alex Williamson <alex.williamson@redhat.com>
Cc: "iommu@lists.linux-foundation.org"
	<iommu@lists.linux-foundation.org>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
	"linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>,
	"Lan, Tianyu" <tianyu.lan@intel.com>,
	"Pan, Jacob jun" <jacob.jun.pan@intel.com>
Subject: RE: Support SVM without PASID
Date: Fri, 11 Aug 2017 06:29:43 +0000	[thread overview]
Message-ID: <AADFC41AFE54684AB9EE6CBC0274A5D190D6ED70@SHSMSX101.ccr.corp.intel.com> (raw)
In-Reply-To: <b973c557-1b4a-18d2-a05e-28680a49daf9@arm.com>

> From: Jean-Philippe Brucker [mailto:jean-philippe.brucker@arm.com]
> Sent: Friday, August 4, 2017 5:43 PM
> 
> Hi Kevin,
> 
> On 04/08/17 02:49, Tian, Kevin wrote:
> >> From: Jean-Philippe Brucker
> >> Sent: Tuesday, August 1, 2017 4:26 PM
> >>
> >> It depends what type you use when registering the IOMMU with
> >> VFIO_SET_IOMMU:
> >>
> >> * If the type is VFIO_TYPE1v2_IOMMU, then
> >> VFIO_IOMMU_MAP/UNMAP_DMA
> >>   affects the stage-1 non-PASID context (already the case in mainline).
> >>   In addition, with my patch the BIND ioctl will affect stage-1 PASID
> >>   contexts, and bind process page directories to the device (host SVM).
> >>
> >> * If the type is VFIO_TYPE1_NESTING_IOMMU, then
> >> VFIO_IOMMU_MAP/UNMAP_DMA
> >>   will affect stage-2 mappings (already in mainline).
> >>   With my SMMU patch series, the BIND ioctl is not supported in this mode.
> >>   But in the future, BIND would allow to manage stage-1 as well:
> >>   - bind a process page directory (host SVM with added stage-2), or
> >
> > I thought host SVM will only go through VFIO_TYPE1v2_IOMMU,
> > since you said stage-2 in ARM SMMU is only for GPA->HPA usage
> > in previous explanation. then what does "host SVM with added
> > stage-2" mean here?
> 
> Ah, that's just a crazy idea I had. I'm not sure it is useful or worth
> implementing, but it is one of the possibility offered by nested translation.
> 
> Consider the situation where a userspace driver (no virtualization) is
> built in a client-server fashion: the server controls a device and spawns
> new processes (clients), each sharing a context with the device using its
> own PASID. If the server wants to hide parts of the client address space
> from the device (e.g. .text), then it could control stage-2 via MAP/UNMAP
> to restrict the address space.

stage-1 is linked to CPU page table (VA->PA) for SVM, while physical 
memory is managed by kernel. I didn't come up a good reason why 
server application needs or has knowledge to hide some resource 
which is not managed by itself...

> 
> It would use different semantics of MAP/UNMAP though, as the ioctl would
> only be used to define 1:1 translation windows, not pin memory.
> 
> Thanks,
> Jean

  reply	other threads:[~2017-08-11  6:29 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-08 17:03 Support SVM without PASID valmiki
2017-07-08 17:03 ` valmiki
2017-07-08 20:02 ` Alex Williamson
2017-07-08 20:02   ` Alex Williamson
2017-07-09  3:15   ` valmiki
2017-07-09  9:29     ` Liu, Yi L
2017-07-10  0:14     ` Bob Liu
2017-07-10  0:14       ` Bob Liu
2017-07-10 19:31     ` Jerome Glisse
2017-07-12 16:23       ` valmiki
2017-07-12 16:23         ` valmiki
2017-07-11 10:56     ` Jean-Philippe Brucker
2017-07-11 10:56       ` Jean-Philippe Brucker
2017-07-12 16:27       ` valmiki
2017-07-12 16:27         ` valmiki
2017-07-12 16:48         ` Jean-Philippe Brucker
2017-07-22  2:05           ` valmiki
2017-08-01  8:26             ` Jean-Philippe Brucker
2017-08-01  8:26               ` Jean-Philippe Brucker
2017-08-01 17:38               ` valmiki
2017-08-01 17:38                 ` valmiki
2017-08-01 18:40                 ` Jean-Philippe Brucker
2017-08-05  5:14                   ` valmiki
2017-08-07 10:31                     ` Jean-Philippe Brucker
2017-08-07 12:18                       ` Bob Liu
2017-08-07 12:18                         ` Bob Liu
2017-08-07 12:52                         ` Jean-Philippe Brucker
2017-08-08  0:51                           ` Bob Liu
2017-08-08  0:51                             ` Bob Liu
2017-08-09 15:01                             ` Jean-Philippe Brucker
2017-08-11  6:41                           ` Tian, Kevin
2017-08-11  9:25                             ` Jean-Philippe Brucker
2017-08-11  9:25                               ` Jean-Philippe Brucker
2017-08-11  9:36                             ` Bob Liu
2017-08-12 12:10                       ` valmiki
2017-08-14  7:49                         ` Tian, Kevin
2017-08-28 13:10                           ` Bharat Kumar Gogada
2017-08-28 13:10                             ` Bharat Kumar Gogada
2017-08-29  1:32                             ` Tian, Kevin
2017-08-04  1:49               ` Tian, Kevin
2017-08-04  1:49                 ` Tian, Kevin
2017-08-04  9:42                 ` Jean-Philippe Brucker
2017-08-11  6:29                   ` Tian, Kevin [this message]
2017-08-11  6:29                     ` Tian, Kevin
2017-08-11 16:25                   ` Raj, Ashok
2017-08-14  8:00                     ` Tian, Kevin
2017-08-14  8:00                       ` Tian, Kevin
2017-08-14  9:07                       ` Jean-Philippe Brucker

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=AADFC41AFE54684AB9EE6CBC0274A5D190D6ED70@SHSMSX101.ccr.corp.intel.com \
    --to=kevin.tian@intel.com \
    --cc=alex.williamson@redhat.com \
    --cc=iommu@lists.linux-foundation.org \
    --cc=jacob.jun.pan@intel.com \
    --cc=jean-philippe.brucker@arm.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=tianyu.lan@intel.com \
    --cc=valmikibow@gmail.com \
    /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.