From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: Re: [PATCH v3 3/4] iommu: elide flushing for higher order map/unmap operations Date: Thu, 6 Dec 2018 15:11:59 +0000 Message-ID: <3f8b9cc8bb6843a79e136015f3b8d456@AMSPEX02CL03.citrite.net> References: <20181205112924.36470-1-paul.durrant@citrix.com> <20181205112924.36470-4-paul.durrant@citrix.com> <5C093B520200007800203B97@prv1-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1gUvac-0007lk-8M for xen-devel@lists.xenproject.org; Thu, 06 Dec 2018 15:29:22 +0000 In-Reply-To: <5C093B520200007800203B97@prv1-mh.provo.novell.com> Content-Language: en-US List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: 'Jan Beulich' Cc: Kevin Tian , Stefano Stabellini , Wei Liu , Konrad Rzeszutek Wilk , Andrew Cooper , "Tim (Xen.org)" , George Dunlap , Julien Grall , Suravee Suthikulpanit , xen-devel , Ian Jackson , Brian Woods , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+IEZyb206IEphbiBCZXVsaWNoIFttYWlsdG86 SkJldWxpY2hAc3VzZS5jb21dCj4gU2VudDogMDYgRGVjZW1iZXIgMjAxOCAxNTowOAo+IFRvOiBQ YXVsIER1cnJhbnQgPFBhdWwuRHVycmFudEBjaXRyaXguY29tPgo+IENjOiBCcmlhbiBXb29kcyA8 YnJpYW4ud29vZHNAYW1kLmNvbT47IFN1cmF2ZWUgU3V0aGlrdWxwYW5pdAo+IDxzdXJhdmVlLnN1 dGhpa3VscGFuaXRAYW1kLmNvbT47IEp1bGllbiBHcmFsbCA8anVsaWVuLmdyYWxsQGFybS5jb20+ Owo+IEFuZHJldyBDb29wZXIgPEFuZHJldy5Db29wZXIzQGNpdHJpeC5jb20+OyBSb2dlciBQYXUg TW9ubmUKPiA8cm9nZXIucGF1QGNpdHJpeC5jb20+OyBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXgu Y29tPjsgR2VvcmdlIER1bmxhcAo+IDxHZW9yZ2UuRHVubGFwQGNpdHJpeC5jb20+OyBJYW4gSmFj a3NvbiA8SWFuLkphY2tzb25AY2l0cml4LmNvbT47IEtldmluCj4gVGlhbiA8a2V2aW4udGlhbkBp bnRlbC5jb20+OyBTdGVmYW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+Owo+ IHhlbi1kZXZlbCA8eGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnPjsgS29ucmFkIFJ6ZXN6 dXRlayBXaWxrCj4gPGtvbnJhZC53aWxrQG9yYWNsZS5jb20+OyBUaW0gKFhlbi5vcmcpIDx0aW1A eGVuLm9yZz4KPiBTdWJqZWN0OiBSZTogW1BBVENIIHYzIDMvNF0gaW9tbXU6IGVsaWRlIGZsdXNo aW5nIGZvciBoaWdoZXIgb3JkZXIKPiBtYXAvdW5tYXAgb3BlcmF0aW9ucwo+IAo+ID4+PiBPbiAw NS4xMi4xOCBhdCAxMjoyOSwgPHBhdWwuZHVycmFudEBjaXRyaXguY29tPiB3cm90ZToKPiA+IC0t LSBhL3hlbi9jb21tb24vbWVtb3J5LmMKPiA+ICsrKyBiL3hlbi9jb21tb24vbWVtb3J5LmMKPiA+ IEBAIC04NjUsMTEgKzg2NSwxNSBAQCBpbnQgeGVubWVtX2FkZF90b19waHlzbWFwKHN0cnVjdCBk b21haW4gKmQsIHN0cnVjdAo+IHhlbl9hZGRfdG9fcGh5c21hcCAqeGF0cCwKPiA+Cj4gPiAgICAg ICAgICB0aGlzX2NwdShpb21tdV9kb250X2ZsdXNoX2lvdGxiKSA9IDA7Cj4gPgo+ID4gLSAgICAg ICAgcmV0ID0gaW9tbXVfZmx1c2goZCwgX2Rmbih4YXRwLT5pZHggLSBkb25lKSwgZG9uZSk7Cj4g PiArICAgICAgICByZXQgPSBpb21tdV9pb3RsYl9mbHVzaChkLCBfZGZuKHhhdHAtPmlkeCAtIGRv bmUpLCBkb25lLAo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSU9NTVVfRkxV U0hGX2FkZGVkIHwKPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElPTU1VX0ZM VVNIRl9tb2RpZmllZCk7Cj4gCj4gTm8gbmVlZCB0byBzcGxpdCB0aGVzZSBsYXN0IHR3byBsaW5l cyBhZmFpY3QsIG5vciAuLi4KPiAKPiA+ICAgICAgICAgIGlmICggdW5saWtlbHkocmV0KSAmJiBy YyA+PSAwICkKPiA+ICAgICAgICAgICAgICByYyA9IHJldDsKPiA+Cj4gPiAtICAgICAgICByZXQg PSBpb21tdV9mbHVzaChkLCBfZGZuKHhhdHAtPmdwZm4gLSBkb25lKSwgZG9uZSk7Cj4gPiArICAg ICAgICByZXQgPSBpb21tdV9pb3RsYl9mbHVzaChkLCBfZGZuKHhhdHAtPmdwZm4gLSBkb25lKSwg ZG9uZSwKPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElPTU1VX0ZMVVNIRl9h ZGRlZCB8Cj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJT01NVV9GTFVTSEZf bW9kaWZpZWQpOwo+IAo+IC4uLiB0aGVzZS4KPiAKPiA+IEBAIC01NzMsMTggKzU4OSwxNyBAQCBp bnQgYW1kX2lvbW11X21hcF9wYWdlKHN0cnVjdCBkb21haW4gKmQsIGRmbl90Cj4gZGZuLCBtZm5f dCBtZm4sCj4gPiAgICAgIH0KPiA+Cj4gPiAgICAgIC8qIEluc3RhbGwgNGsgbWFwcGluZyAqLwo+ ID4gLSAgICBuZWVkX2ZsdXNoID0gc2V0X2lvbW11X3B0ZV9wcmVzZW50KHB0X21mblsxXSwgZGZu X3goZGZuKSwKPiBtZm5feChtZm4pLCAxLAo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICEhKGZsYWdzICYgSU9NTVVGX3dyaXRhYmxlKSwKPiA+IC0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhIShmbGFncyAmIElPTU1VRl9yZWFkYWJsZSkp Owo+ID4gLQo+ID4gLSAgICBpZiAoIG5lZWRfZmx1c2ggKQo+ID4gLSAgICAgICAgYW1kX2lvbW11 X2ZsdXNoX3BhZ2VzKGQsIGRmbl94KGRmbiksIDApOwo+ID4gKyAgICAqZmx1c2hfZmxhZ3MgfD0g c2V0X2lvbW11X3B0ZV9wcmVzZW50KHB0X21mblsxXSwgZGZuX3goZGZuKSwKPiBtZm5feChtZm4p LAo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEsICEhKGZs YWdzICYKPiBJT01NVUZfd3JpdGFibGUpLAo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICEhKGZsYWdzICYgSU9NTVVGX3JlYWRhYmxlKSk7Cj4gCj4gSSBkb24n dCB0aGluayB0aGUgISEgaGVyZSBuZWVkIHJldGFpbmluZy4KPiAKPiA+IEBAIC0yMzUsNiArMjM2 LDEwIEBAIHZvaWQgX19od2RvbV9pbml0IGlvbW11X2h3ZG9tX2luaXQoc3RydWN0IGRvbWFpbgo+ ICpkKQo+ID4gICAgICAgICAgICAgICAgICBwcm9jZXNzX3BlbmRpbmdfc29mdGlycXMoKTsKPiA+ ICAgICAgICAgIH0KPiA+Cj4gPiArICAgICAgICAvKiBVc2Ugd2hpbGUtYnJlYWsgdG8gYXZvaWQg Y29tcGlsZXIgd2FybmluZyAqLwo+ID4gKyAgICAgICAgd2hpbGUgKCAhaW9tbXVfaW90bGJfZmx1 c2hfYWxsKGQsIGZsdXNoX2ZsYWdzKSApCj4gPiArICAgICAgICAgICAgYnJlYWs7Cj4gCj4gV2l0 aCBqdXN0IHRoZSAiYnJlYWs7IiBhcyBib2R5LCB3aGF0J3MgdGhlICEgZ29vZCBmb3I/Cj4gCj4g PiBAQCAtMzIwLDcgKzMyNiw4IEBAIGludCBpb21tdV9sZWdhY3lfbWFwKHN0cnVjdCBkb21haW4g KmQsIGRmbl90IGRmbiwKPiBtZm5fdCBtZm4sCj4gPiAgICAgIGZvciAoIGkgPSAwOyBpIDwgKDF1 bCA8PCBwYWdlX29yZGVyKTsgaSsrICkKPiA+ICAgICAgewo+ID4gICAgICAgICAgcmMgPSBoZC0+ cGxhdGZvcm1fb3BzLT5tYXBfcGFnZShkLCBkZm5fYWRkKGRmbiwgaSksCj4gPiAtICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1mbl9hZGQobWZuLCBpKSwgZmxhZ3MpOwo+ ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZm5fYWRkKG1mbiwg aSksIGZsYWdzLAo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBm bHVzaF9mbGFncyk7Cj4gCj4gQWdhaW4gbm8gbmVlZCBmb3IgdHdvIGxpbmVzIGhlcmUgYXMgaXQg c2VlbXMuCj4gCj4gPiBAQCAtMzQ1LDcgKzM1MywyMCBAQCBpbnQgaW9tbXVfbGVnYWN5X21hcChz dHJ1Y3QgZG9tYWluICpkLCBkZm5fdCBkZm4sCj4gbWZuX3QgbWZuLAo+ID4gICAgICByZXR1cm4g cmM7Cj4gPiAgfQo+ID4KPiA+IC1pbnQgaW9tbXVfbGVnYWN5X3VubWFwKHN0cnVjdCBkb21haW4g KmQsIGRmbl90IGRmbiwgdW5zaWduZWQgaW50Cj4gcGFnZV9vcmRlcikKPiA+ICtpbnQgaW9tbXVf bGVnYWN5X21hcChzdHJ1Y3QgZG9tYWluICpkLCBkZm5fdCBkZm4sIG1mbl90IG1mbiwKPiA+ICsg ICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgcGFnZV9vcmRlciwgdW5zaWduZWQgaW50 IGZsYWdzKQo+ID4gK3sKPiA+ICsgICAgdW5zaWduZWQgaW50IGZsdXNoX2ZsYWdzID0gMDsKPiA+ ICsgICAgaW50IHJjID0gaW9tbXVfbWFwKGQsIGRmbiwgbWZuLCBwYWdlX29yZGVyLCBmbGFncywg JmZsdXNoX2ZsYWdzKTsKPiA+ICsKPiA+ICsgICAgaWYgKCAhcmMgJiYgIXRoaXNfY3B1KGlvbW11 X2RvbnRfZmx1c2hfaW90bGIpICkKPiA+ICsgICAgICAgIHJjID0gaW9tbXVfaW90bGJfZmx1c2go ZCwgZGZuLCAoMXUgPDwgcGFnZV9vcmRlciksCj4gZmx1c2hfZmxhZ3MpOwo+IAo+IFRoZSBxdWVz dGlvbiB3YXMgcmFpc2VkIGluIGEgZGlmZmVyZW50IGNvbnRleHQgKGJ1dCBpaXJjIHRoaXMgc2Ft ZQo+IHNlcmllcykgYWxyZWFkeTogSXMgaXQgY29ycmVjdCB0byBza2lwIGZsdXNoaW5nIHdoZW4g ZmFpbHVyZSBvY2N1cnJlZAo+IG9uIG90aGVyIHRoYW4gdGhlIGZpcnN0IHBhZ2Ugb2YgYSBzZXQ/ IFRoZXJlJ3Mgbm8gcm9sbGJhY2sgYWZhaWN0LAo+IGFuZCBldmVuIGlmIHRoZXJlIHdhcyB0aGUg dHJhbnNpZW50bHkgYXZhaWxhYmxlIG1hcHBpbmdzIHdvdWxkCj4gdGhlbiBzdGlsbCBuZWVkIHB1 cmdpbmcuIFNhbWUgb24gdGhlIHVubWFwIHNpZGUgdGhlbi4gKE5vdGUgdGhhdAo+IHRoaXMgaXMg ZGlmZmVyZW50IGZyb20gdGhlIGFyY2hfaW9tbXVfcG9wdWxhdGVfcGFnZV90YWJsZSgpCj4gY2Fz ZSwgd2hlcmUgSS9PIGNhbid0IGJlIGluaXRpYXRlZCB5ZXQgYnkgdGhlIGd1ZXN0LikKClRoYXQn cyB0cnVlLi4uIHRoZSBjb2RlIHNob3VsZCByZXNwZWN0IHRoZSBmbHVzaF9mbGFncyBldmVuIGlu IHRoZSBmYWlsdXJlIGNhc2UuIEknbGwgc2VuZCB2NC4KCiAgUGF1bAoKPiAKPiA+IEBAIC0yNDEs OCArMjQ1LDEwIEBAIHZvaWQgX19od2RvbV9pbml0IGFyY2hfaW9tbXVfaHdkb21faW5pdChzdHJ1 Y3QKPiBkb21haW4gKmQpCj4gPiAgICAgICAgICBpZiAoIHBhZ2luZ19tb2RlX3RyYW5zbGF0ZShk KSApCj4gPiAgICAgICAgICAgICAgcmMgPSBzZXRfaWRlbnRpdHlfcDJtX2VudHJ5KGQsIHBmbiwg cDJtX2FjY2Vzc19ydywgMCk7Cj4gPiAgICAgICAgICBlbHNlCj4gPiAtICAgICAgICAgICAgcmMg PSBpb21tdV9sZWdhY3lfbWFwKGQsIF9kZm4ocGZuKSwgX21mbihwZm4pLAo+IFBBR0VfT1JERVJf NEssCj4gPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElPTU1VRl9yZWFkYWJs ZSB8IElPTU1VRl93cml0YWJsZSk7Cj4gPiArICAgICAgICAgICAgcmMgPSBpb21tdV9tYXAoZCwg X2RmbihwZm4pLCBfbWZuKHBmbiksIFBBR0VfT1JERVJfNEssCj4gPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgSU9NTVVGX3JlYWRhYmxlIHwgSU9NTVVGX3dyaXRhYmxlLAo+ID4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICZmbHVzaF9mbGFncyk7Cj4gCj4gQWdhaW4gb3Zlcmx5IGFn Z3Jlc3NpdmUgbGluZSB3cmFwcGluZz8KPiAKPiBKYW4KCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZl bEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxt YW4vbGlzdGluZm8veGVuLWRldmVs