From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Tian, Kevin" Subject: RE: [PATCH v2 01/40] iommu: Introduce Shared Virtual Addressing API Date: Thu, 13 Sep 2018 07:26:30 +0000 Message-ID: References: <20180511190641.23008-1-jean-philippe.brucker@arm.com> <20180511190641.23008-2-jean-philippe.brucker@arm.com> <03d31ba5-1eda-ea86-8c0c-91d14c86fe83@arm.com> <2fd4a0a1-1a35-bf82-df84-b995cce011d9@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <2fd4a0a1-1a35-bf82-df84-b995cce011d9-5C7GfCeVMHo@public.gmane.org> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: iommu-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org Errors-To: iommu-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org To: =?utf-8?B?Q2hyaXN0aWFuIEvDtm5pZw==?= , Jean-Philippe Brucker , Auger Eric , "linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org" , "linux-pci-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" , "linux-acpi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" , "devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" , "iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org" , "kvm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" , "linux-mm-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org" Cc: "xieyisheng1-hv44wF8Li93QT0dZR+AlfA@public.gmane.org" , "liubo95-hv44wF8Li93QT0dZR+AlfA@public.gmane.org" , "Raj, Ashok" , "robin.murphy-5wv7dgnIgG8@public.gmane.org" , "ilias.apalodimas-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org" , "will.deacon-5wv7dgnIgG8@public.gmane.org" , "okaya-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org" , "alex.williamson-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org" , "rgummal-gjFFaj9aHVfQT0dZR+AlfA@public.gmane.org" , "rfranz-YGCgFSpz5w/QT0dZR+AlfA@public.gmane.org" , "dwmw2-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org" List-Id: linux-acpi@vger.kernel.org PiBGcm9tOiBDaHJpc3RpYW4gS8O2bmlnDQo+IFNlbnQ6IEZyaWRheSwgU2VwdGVtYmVyIDcsIDIw MTggNDo1NiBQTQ0KPiANCj4gNS4gSXQgd291bGQgYmUgbmljZSB0byBoYXZlIHRvIGFsbG9jYXRl IG11bHRpcGxlIFBBU0lEcyBmb3IgdGhlIHNhbWUNCj4gcHJvY2VzcyBhZGRyZXNzIHNwYWNlLg0K PiAgwqDCoMKgIMKgwqDCoCBFLmcuIHNvbWUgdGVhbXMgYXQgQU1EIHdhbnQgdG8gdXNlIGEgc2Vw YXJhdGUgR1BVIGFkZHJlc3Mgc3BhY2UNCj4gZm9yIHRoZWlyIHVzZXJzcGFjZSBjbGllbnQgbGli cmFyeS4gSSdtIHN0aWxsIHRyeWluZyB0byBhdm9pZCB0aGF0LCBidXQNCj4gaXQgaXMgcGVyZmVj dGx5IHBvc3NpYmxlIHRoYXQgd2UgYXJlIGdvaW5nIHRvIG5lZWQgdGhhdC4NCj4gIMKgwqDCoCDC oMKgwqAgQWRkaXRpb25hbCB0byB0aGF0IGl0IGlzIHNvbWV0aW1lcyBxdWl0ZSB1c2VmdWwgZm9y IGRlYnVnZ2luZw0KPiB0byBpc29sYXRlIHdoZXJlIGV4YWN0bHkgYW4gaW5jb3JyZWN0IGFjY2Vz cyAoc2VnZmF1bHQpIGlzIGNvbWluZyBmcm9tLg0KPiANCj4gTGV0IG1lIGtub3cgaWYgdGhlcmUg YXJlIHNvbWUgcHJvYmxlbXMgd2l0aCB0aGF0LCBlc3BlY2lhbGx5IEkgd2FudCB0bw0KPiBrbm93 IGlmIHRoZXJlIGlzIHB1c2hiYWNrIG9uICM1IHNvIHRoYXQgSSBjYW4gZm9yd2FyZCB0aGF0IDop DQo+IA0KDQpXZSBoYXZlIHNpbWlsYXIgcmVxdWlyZW1lbnQsIGV4Y2VwdCB0aGF0IGl0IGlzICJt dWx0aXBsZSBQQVNJRHMgZm9yDQpzYW1lIHByb2Nlc3MiIGluc3RlYWQgb2YgImZvciBzYW1lIHBy b2Nlc3MgYWRkcmVzcyBzcGFjZSIuDQoNCkludGVsIFZULWQgZ29lcyB0byBhICd0cnVlJyBzeXN0 ZW0td2lkZSBQQVNJRCBhbGxvY2F0aW9uIHBvbGljeSwgDQpjcm9zcyBib3RoIGhvc3QgcHJvY2Vz c2VzIGFuZCBndWVzdCBwcm9jZXNzZXMuIEFzIEphY29iIGV4cGxhaW5zLA0KdGhlcmUgd2lsbCBi ZSBhIHZpcnR1YWwgY21kIHJlZ2lzdGVyIG9uIHZpcnR1YWwgdnRkLCB0aHJvdWdoIHdoaWNoDQpn dWVzdCBJT01NVSBkcml2ZXIgcmVxdWVzdHMgdG8gZ2V0IHN5c3RlbS13aWRlIFBBU0lEcyBhbGxv Y2F0ZWQNCmJ5IGhvc3QgSU9NTVUgZHJpdmVyLg0KDQp3aXRoIHRoYXQgZGVzaWduLCBRZW11IHJl cHJlc2VudHMgYWxsIGd1ZXN0IHByb2Nlc3NlcyBpbiBob3N0DQpzaWRlLCB0aHVzIHdpbGwgZ2V0 ICJtdWx0aXBsZSBQQVNJRHMgYWxsb2NhdGVkIGZvciBzYW1lIHByb2Nlc3MiLg0KSG93ZXZlciBp bnN0ZWFkIG9mIGJpbmRpbmcgYWxsIFBBU0lEcyB0byBzYW1lIGhvc3QgYWRkcmVzcyBzcGFjZQ0K b2YgIFFlbXUsIGVhY2ggb2YgUEFTSUQgZW50cnkgcG9pbnRzIHRvIGd1ZXN0IGFkZHJlc3Mgc3Bh Y2UgaWYgDQp1c2VkIGJ5IGd1ZXN0IHByb2Nlc3MuDQoNClRoYW5rcw0KS2V2aW4NCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmlvbW11IG1haWxpbmcgbGlz dAppb21tdUBsaXN0cy5saW51eC1mb3VuZGF0aW9uLm9yZwpodHRwczovL2xpc3RzLmxpbnV4Zm91 bmRhdGlvbi5vcmcvbWFpbG1hbi9saXN0aW5mby9pb21tdQ== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: "Tian, Kevin" To: =?utf-8?B?Q2hyaXN0aWFuIEvDtm5pZw==?= , Jean-Philippe Brucker , Auger Eric , "linux-arm-kernel@lists.infradead.org" , "linux-pci@vger.kernel.org" , "linux-acpi@vger.kernel.org" , "devicetree@vger.kernel.org" , "iommu@lists.linux-foundation.org" , "kvm@vger.kernel.org" , "linux-mm@kvack.org" CC: "xieyisheng1@huawei.com" , "ilias.apalodimas@linaro.org" , "will.deacon@arm.com" , "okaya@codeaurora.org" , "Raj, Ashok" , "rfranz@cavium.com" , "alex.williamson@redhat.com" , "rgummal@xilinx.com" , "dwmw2@infradead.org" , "liubo95@huawei.com" , "robin.murphy@arm.com" Subject: RE: [PATCH v2 01/40] iommu: Introduce Shared Virtual Addressing API Date: Thu, 13 Sep 2018 07:26:30 +0000 Message-ID: References: <20180511190641.23008-1-jean-philippe.brucker@arm.com> <20180511190641.23008-2-jean-philippe.brucker@arm.com> <03d31ba5-1eda-ea86-8c0c-91d14c86fe83@arm.com> <2fd4a0a1-1a35-bf82-df84-b995cce011d9@amd.com> In-Reply-To: <2fd4a0a1-1a35-bf82-df84-b995cce011d9@amd.com> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Sender: linux-acpi-owner@vger.kernel.org List-ID: PiBGcm9tOiBDaHJpc3RpYW4gS8O2bmlnDQo+IFNlbnQ6IEZyaWRheSwgU2VwdGVtYmVyIDcsIDIw MTggNDo1NiBQTQ0KPiANCj4gNS4gSXQgd291bGQgYmUgbmljZSB0byBoYXZlIHRvIGFsbG9jYXRl IG11bHRpcGxlIFBBU0lEcyBmb3IgdGhlIHNhbWUNCj4gcHJvY2VzcyBhZGRyZXNzIHNwYWNlLg0K PiAgwqDCoMKgIMKgwqDCoCBFLmcuIHNvbWUgdGVhbXMgYXQgQU1EIHdhbnQgdG8gdXNlIGEgc2Vw YXJhdGUgR1BVIGFkZHJlc3Mgc3BhY2UNCj4gZm9yIHRoZWlyIHVzZXJzcGFjZSBjbGllbnQgbGli cmFyeS4gSSdtIHN0aWxsIHRyeWluZyB0byBhdm9pZCB0aGF0LCBidXQNCj4gaXQgaXMgcGVyZmVj dGx5IHBvc3NpYmxlIHRoYXQgd2UgYXJlIGdvaW5nIHRvIG5lZWQgdGhhdC4NCj4gIMKgwqDCoCDC oMKgwqAgQWRkaXRpb25hbCB0byB0aGF0IGl0IGlzIHNvbWV0aW1lcyBxdWl0ZSB1c2VmdWwgZm9y IGRlYnVnZ2luZw0KPiB0byBpc29sYXRlIHdoZXJlIGV4YWN0bHkgYW4gaW5jb3JyZWN0IGFjY2Vz cyAoc2VnZmF1bHQpIGlzIGNvbWluZyBmcm9tLg0KPiANCj4gTGV0IG1lIGtub3cgaWYgdGhlcmUg YXJlIHNvbWUgcHJvYmxlbXMgd2l0aCB0aGF0LCBlc3BlY2lhbGx5IEkgd2FudCB0bw0KPiBrbm93 IGlmIHRoZXJlIGlzIHB1c2hiYWNrIG9uICM1IHNvIHRoYXQgSSBjYW4gZm9yd2FyZCB0aGF0IDop DQo+IA0KDQpXZSBoYXZlIHNpbWlsYXIgcmVxdWlyZW1lbnQsIGV4Y2VwdCB0aGF0IGl0IGlzICJt dWx0aXBsZSBQQVNJRHMgZm9yDQpzYW1lIHByb2Nlc3MiIGluc3RlYWQgb2YgImZvciBzYW1lIHBy b2Nlc3MgYWRkcmVzcyBzcGFjZSIuDQoNCkludGVsIFZULWQgZ29lcyB0byBhICd0cnVlJyBzeXN0 ZW0td2lkZSBQQVNJRCBhbGxvY2F0aW9uIHBvbGljeSwgDQpjcm9zcyBib3RoIGhvc3QgcHJvY2Vz c2VzIGFuZCBndWVzdCBwcm9jZXNzZXMuIEFzIEphY29iIGV4cGxhaW5zLA0KdGhlcmUgd2lsbCBi ZSBhIHZpcnR1YWwgY21kIHJlZ2lzdGVyIG9uIHZpcnR1YWwgdnRkLCB0aHJvdWdoIHdoaWNoDQpn dWVzdCBJT01NVSBkcml2ZXIgcmVxdWVzdHMgdG8gZ2V0IHN5c3RlbS13aWRlIFBBU0lEcyBhbGxv Y2F0ZWQNCmJ5IGhvc3QgSU9NTVUgZHJpdmVyLg0KDQp3aXRoIHRoYXQgZGVzaWduLCBRZW11IHJl cHJlc2VudHMgYWxsIGd1ZXN0IHByb2Nlc3NlcyBpbiBob3N0DQpzaWRlLCB0aHVzIHdpbGwgZ2V0 ICJtdWx0aXBsZSBQQVNJRHMgYWxsb2NhdGVkIGZvciBzYW1lIHByb2Nlc3MiLg0KSG93ZXZlciBp bnN0ZWFkIG9mIGJpbmRpbmcgYWxsIFBBU0lEcyB0byBzYW1lIGhvc3QgYWRkcmVzcyBzcGFjZQ0K b2YgIFFlbXUsIGVhY2ggb2YgUEFTSUQgZW50cnkgcG9pbnRzIHRvIGd1ZXN0IGFkZHJlc3Mgc3Bh Y2UgaWYgDQp1c2VkIGJ5IGd1ZXN0IHByb2Nlc3MuDQoNClRoYW5rcw0KS2V2aW4NCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pl1-f197.google.com (mail-pl1-f197.google.com [209.85.214.197]) by kanga.kvack.org (Postfix) with ESMTP id 377B98E0001 for ; Thu, 13 Sep 2018 03:28:05 -0400 (EDT) Received: by mail-pl1-f197.google.com with SMTP id d10-v6so2288334pll.22 for ; Thu, 13 Sep 2018 00:28:05 -0700 (PDT) Received: from mga01.intel.com (mga01.intel.com. [192.55.52.88]) by mx.google.com with ESMTPS id 1-v6si3376043plr.326.2018.09.13.00.28.03 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 13 Sep 2018 00:28:04 -0700 (PDT) From: "Tian, Kevin" Subject: RE: [PATCH v2 01/40] iommu: Introduce Shared Virtual Addressing API Date: Thu, 13 Sep 2018 07:26:30 +0000 Message-ID: References: <20180511190641.23008-1-jean-philippe.brucker@arm.com> <20180511190641.23008-2-jean-philippe.brucker@arm.com> <03d31ba5-1eda-ea86-8c0c-91d14c86fe83@arm.com> <2fd4a0a1-1a35-bf82-df84-b995cce011d9@amd.com> In-Reply-To: <2fd4a0a1-1a35-bf82-df84-b995cce011d9@amd.com> Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Sender: owner-linux-mm@kvack.org List-ID: To: =?utf-8?B?Q2hyaXN0aWFuIEvDtm5pZw==?= , Jean-Philippe Brucker , Auger Eric , "linux-arm-kernel@lists.infradead.org" , "linux-pci@vger.kernel.org" , "linux-acpi@vger.kernel.org" , "devicetree@vger.kernel.org" , "iommu@lists.linux-foundation.org" , "kvm@vger.kernel.org" , "linux-mm@kvack.org" Cc: "xieyisheng1@huawei.com" , "ilias.apalodimas@linaro.org" , "will.deacon@arm.com" , "okaya@codeaurora.org" , "Raj, Ashok" , "rfranz@cavium.com" , "alex.williamson@redhat.com" , "rgummal@xilinx.com" , "dwmw2@infradead.org" , "liubo95@huawei.com" , "robin.murphy@arm.com" PiBGcm9tOiBDaHJpc3RpYW4gS8O2bmlnDQo+IFNlbnQ6IEZyaWRheSwgU2VwdGVtYmVyIDcsIDIw MTggNDo1NiBQTQ0KPiANCj4gNS4gSXQgd291bGQgYmUgbmljZSB0byBoYXZlIHRvIGFsbG9jYXRl IG11bHRpcGxlIFBBU0lEcyBmb3IgdGhlIHNhbWUNCj4gcHJvY2VzcyBhZGRyZXNzIHNwYWNlLg0K PiAgwqDCoMKgIMKgwqDCoCBFLmcuIHNvbWUgdGVhbXMgYXQgQU1EIHdhbnQgdG8gdXNlIGEgc2Vw YXJhdGUgR1BVIGFkZHJlc3Mgc3BhY2UNCj4gZm9yIHRoZWlyIHVzZXJzcGFjZSBjbGllbnQgbGli cmFyeS4gSSdtIHN0aWxsIHRyeWluZyB0byBhdm9pZCB0aGF0LCBidXQNCj4gaXQgaXMgcGVyZmVj dGx5IHBvc3NpYmxlIHRoYXQgd2UgYXJlIGdvaW5nIHRvIG5lZWQgdGhhdC4NCj4gIMKgwqDCoCDC oMKgwqAgQWRkaXRpb25hbCB0byB0aGF0IGl0IGlzIHNvbWV0aW1lcyBxdWl0ZSB1c2VmdWwgZm9y IGRlYnVnZ2luZw0KPiB0byBpc29sYXRlIHdoZXJlIGV4YWN0bHkgYW4gaW5jb3JyZWN0IGFjY2Vz cyAoc2VnZmF1bHQpIGlzIGNvbWluZyBmcm9tLg0KPiANCj4gTGV0IG1lIGtub3cgaWYgdGhlcmUg YXJlIHNvbWUgcHJvYmxlbXMgd2l0aCB0aGF0LCBlc3BlY2lhbGx5IEkgd2FudCB0bw0KPiBrbm93 IGlmIHRoZXJlIGlzIHB1c2hiYWNrIG9uICM1IHNvIHRoYXQgSSBjYW4gZm9yd2FyZCB0aGF0IDop DQo+IA0KDQpXZSBoYXZlIHNpbWlsYXIgcmVxdWlyZW1lbnQsIGV4Y2VwdCB0aGF0IGl0IGlzICJt dWx0aXBsZSBQQVNJRHMgZm9yDQpzYW1lIHByb2Nlc3MiIGluc3RlYWQgb2YgImZvciBzYW1lIHBy b2Nlc3MgYWRkcmVzcyBzcGFjZSIuDQoNCkludGVsIFZULWQgZ29lcyB0byBhICd0cnVlJyBzeXN0 ZW0td2lkZSBQQVNJRCBhbGxvY2F0aW9uIHBvbGljeSwgDQpjcm9zcyBib3RoIGhvc3QgcHJvY2Vz c2VzIGFuZCBndWVzdCBwcm9jZXNzZXMuIEFzIEphY29iIGV4cGxhaW5zLA0KdGhlcmUgd2lsbCBi ZSBhIHZpcnR1YWwgY21kIHJlZ2lzdGVyIG9uIHZpcnR1YWwgdnRkLCB0aHJvdWdoIHdoaWNoDQpn dWVzdCBJT01NVSBkcml2ZXIgcmVxdWVzdHMgdG8gZ2V0IHN5c3RlbS13aWRlIFBBU0lEcyBhbGxv Y2F0ZWQNCmJ5IGhvc3QgSU9NTVUgZHJpdmVyLg0KDQp3aXRoIHRoYXQgZGVzaWduLCBRZW11IHJl cHJlc2VudHMgYWxsIGd1ZXN0IHByb2Nlc3NlcyBpbiBob3N0DQpzaWRlLCB0aHVzIHdpbGwgZ2V0 ICJtdWx0aXBsZSBQQVNJRHMgYWxsb2NhdGVkIGZvciBzYW1lIHByb2Nlc3MiLg0KSG93ZXZlciBp bnN0ZWFkIG9mIGJpbmRpbmcgYWxsIFBBU0lEcyB0byBzYW1lIGhvc3QgYWRkcmVzcyBzcGFjZQ0K b2YgIFFlbXUsIGVhY2ggb2YgUEFTSUQgZW50cnkgcG9pbnRzIHRvIGd1ZXN0IGFkZHJlc3Mgc3Bh Y2UgaWYgDQp1c2VkIGJ5IGd1ZXN0IHByb2Nlc3MuDQoNClRoYW5rcw0KS2V2aW4NCg== From mboxrd@z Thu Jan 1 00:00:00 1970 From: kevin.tian@intel.com (Tian, Kevin) Date: Thu, 13 Sep 2018 07:26:30 +0000 Subject: [PATCH v2 01/40] iommu: Introduce Shared Virtual Addressing API In-Reply-To: <2fd4a0a1-1a35-bf82-df84-b995cce011d9@amd.com> References: <20180511190641.23008-1-jean-philippe.brucker@arm.com> <20180511190641.23008-2-jean-philippe.brucker@arm.com> <03d31ba5-1eda-ea86-8c0c-91d14c86fe83@arm.com> <2fd4a0a1-1a35-bf82-df84-b995cce011d9@amd.com> Message-ID: To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org > From: Christian K?nig > Sent: Friday, September 7, 2018 4:56 PM > > 5. It would be nice to have to allocate multiple PASIDs for the same > process address space. > ??? ??? E.g. some teams at AMD want to use a separate GPU address space > for their userspace client library. I'm still trying to avoid that, but > it is perfectly possible that we are going to need that. > ??? ??? Additional to that it is sometimes quite useful for debugging > to isolate where exactly an incorrect access (segfault) is coming from. > > Let me know if there are some problems with that, especially I want to > know if there is pushback on #5 so that I can forward that :) > We have similar requirement, except that it is "multiple PASIDs for same process" instead of "for same process address space". Intel VT-d goes to a 'true' system-wide PASID allocation policy, cross both host processes and guest processes. As Jacob explains, there will be a virtual cmd register on virtual vtd, through which guest IOMMU driver requests to get system-wide PASIDs allocated by host IOMMU driver. with that design, Qemu represents all guest processes in host side, thus will get "multiple PASIDs allocated for same process". However instead of binding all PASIDs to same host address space of Qemu, each of PASID entry points to guest address space if used by guest process. Thanks Kevin