From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: Re: [PATCH v2 3/4] iommu: elide flushing for higher order map/unmap operations Date: Tue, 4 Dec 2018 16:53:21 +0000 Message-ID: References: <20181203174017.11956-1-paul.durrant@citrix.com> <20181203174017.11956-4-paul.durrant@citrix.com> <5C069A650200007800202BFD@prv1-mh.provo.novell.com> <0d6a78307bb5438582dd7e8e55a449db@AMSPEX02CL03.citrite.net> <5C06A4E60200007800202C98@prv1-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1gUEE7-00019i-6E for xen-devel@lists.xenproject.org; Tue, 04 Dec 2018 17:11:15 +0000 In-Reply-To: <5C06A4E60200007800202C98@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 , Ian Jackson , xen-devel , Brian Woods , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBYZW4tZGV2ZWwgW21haWx0bzp4 ZW4tZGV2ZWwtYm91bmNlc0BsaXN0cy54ZW5wcm9qZWN0Lm9yZ10gT24gQmVoYWxmDQo+IE9mIEph biBCZXVsaWNoDQo+IFNlbnQ6IDA0IERlY2VtYmVyIDIwMTggMTY6MDINCj4gVG86IFBhdWwgRHVy cmFudCA8UGF1bC5EdXJyYW50QGNpdHJpeC5jb20+DQo+IENjOiBLZXZpbiBUaWFuIDxrZXZpbi50 aWFuQGludGVsLmNvbT47IFN0ZWZhbm8gU3RhYmVsbGluaQ0KPiA8c3N0YWJlbGxpbmlAa2VybmVs Lm9yZz47IFdlaSBMaXUgPHdlaS5saXUyQGNpdHJpeC5jb20+OyBLb25yYWQgUnplc3p1dGVrDQo+ IFdpbGsgPGtvbnJhZC53aWxrQG9yYWNsZS5jb20+OyBBbmRyZXcgQ29vcGVyIDxBbmRyZXcuQ29v cGVyM0BjaXRyaXguY29tPjsNCj4gVGltIChYZW4ub3JnKSA8dGltQHhlbi5vcmc+OyBHZW9yZ2Ug RHVubGFwIDxHZW9yZ2UuRHVubGFwQGNpdHJpeC5jb20+Ow0KPiBKdWxpZW4gR3JhbGwgPGp1bGll bi5ncmFsbEBhcm0uY29tPjsgU3VyYXZlZSBTdXRoaWt1bHBhbml0DQo+IDxzdXJhdmVlLnN1dGhp a3VscGFuaXRAYW1kLmNvbT47IHhlbi1kZXZlbCA8eGVuLQ0KPiBkZXZlbEBsaXN0cy54ZW5wcm9q ZWN0Lm9yZz47IElhbiBKYWNrc29uIDxJYW4uSmFja3NvbkBjaXRyaXguY29tPjsgQnJpYW4NCj4g V29vZHMgPGJyaWFuLndvb2RzQGFtZC5jb20+OyBSb2dlciBQYXUgTW9ubmUgPHJvZ2VyLnBhdUBj aXRyaXguY29tPg0KPiBTdWJqZWN0OiBSZTogW1hlbi1kZXZlbF0gW1BBVENIIHYyIDMvNF0gaW9t bXU6IGVsaWRlIGZsdXNoaW5nIGZvciBoaWdoZXINCj4gb3JkZXIgbWFwL3VubWFwIG9wZXJhdGlv bnMNCj4gDQo+ID4+PiBPbiAwNC4xMi4xOCBhdCAxNjozNiwgPFBhdWwuRHVycmFudEBjaXRyaXgu Y29tPiB3cm90ZToNCj4gPj4gRnJvbTogSmFuIEJldWxpY2ggW21haWx0bzpKQmV1bGljaEBzdXNl LmNvbV0NCj4gPj4gU2VudDogMDQgRGVjZW1iZXIgMjAxOCAxNToxNw0KPiA+Pg0KPiA+PiA+Pj4g T24gMDMuMTIuMTggYXQgMTg6NDAsIDxwYXVsLmR1cnJhbnRAY2l0cml4LmNvbT4gd3JvdGU6DQo+ ID4+ID4gLS0tIGEveGVuL2FyY2gvYXJtL3AybS5jDQo+ID4+ID4gKysrIGIveGVuL2FyY2gvYXJt L3AybS5jDQo+ID4+ID4gQEAgLTk3MSw4ICs5NzEsMTcgQEAgc3RhdGljIGludCBfX3AybV9zZXRf ZW50cnkoc3RydWN0IHAybV9kb21haW4NCj4gKnAybSwNCj4gPj4gPg0KPiA+PiA+ICAgICAgaWYg KCBuZWVkX2lvbW11X3B0X3N5bmMocDJtLT5kb21haW4pICYmDQo+ID4+ID4gICAgICAgICAgIChs cGFlX2lzX3ZhbGlkKG9yaWdfcHRlKSB8fCBscGFlX2lzX3ZhbGlkKCplbnRyeSkpICkNCj4gPj4g PiArICAgIHsNCj4gPj4gPiArICAgICAgICB1bnNpZ25lZCBpbnQgZmx1c2hfZmxhZ3MgPSAwOw0K PiA+PiA+ICsNCj4gPj4gPiArICAgICAgICBpZiAoIGxwYWVfaXNfdmFsaWQob3JpZ19wdGUpICkN Cj4gPj4gPiArICAgICAgICAgICAgZmx1c2hfZmxhZ3MgfD0gSU9NTVVfRkxVU0hGX21vZGlmaWVk Ow0KPiA+PiA+ICsgICAgICAgIGlmICggbHBhZV9pc192YWxpZCgqZW50cnkpICkNCj4gPj4gPiAr ICAgICAgICAgICAgZmx1c2hfZmxhZ3MgfD0gSU9NTVVfRkxVU0hGX2FkZGVkOw0KPiA+Pg0KPiA+ PiBTaG91bGRuJ3QgdGhpcyBiZSAiZWxzZSBpZiIgd2l0aCB0aGUgbWVhbmluZyBhc3NpZ25lZCB0 byBib3RoDQo+ID4+IHR5cGVzPyBGcm9tIGFuIGFic3RyYWN0IHBlcnNwZWN0aXZlIEknZCBhbHNv IGV4cGVjdCB0aGF0IGZvcg0KPiA+PiBhIHNpbmdsZSBtYXBwaW5nIG5vIG1vcmUgdGhhbiBvbmUg b2YgdGhlIGZsYWdzIGNhbiBjb21lDQo+ID4+IGJhY2sgc2V0ICh0aHJvdWdoIHRoZSBpb21tdV9v cHMgaW50ZXJmYWNlKS4NCj4gPg0KPiA+IFRoYXQncyBub3QgaG93IEkgc2VlIGl0LiBNeSByYXRp b25hbGUgaXM6DQo+ID4NCj4gPiAtIHByZXNlbnQgUFRFIG1hZGUgbm9uLXByZXNlbnQsIG9yIG1v ZGlmaWVkIC0+IElPTU1VX0ZMVVNIRl9tb2RpZmllZA0KPiA+IC0gbmV3IFBURSB2YWx1ZSBpcyBw cmVzZW50IC0+IElPTU1VX0ZMVVNIRl9hZGRlZA0KPiA+DQo+ID4gU28sIGEgc2luZ2xlIG9wIGNh biBzZXQgYW55IGNvbWJpbmF0aW9uIG9mIGJpdHMgYW5kIHRodXMgdGhlIGFib3ZlIGNvZGUNCj4g ZG9lcw0KPiA+IG5vdCB1c2UgJ2Vsc2UgaWYnLg0KPiANCj4gSSBjYW4ndCBmaXQgdGhpcyB3aXRo IHRoZSBjb2RlIGNvbW1lbnRzOg0KPiANCj4gZW51bQ0KPiB7DQo+ICAgICBfSU9NTVVfRkxVU0hG X2FkZGVkLCAvKiBubyBtb2RpZmllZCBlbnRyaWVzLCBqdXN0IGFkZGl0aW9uYWwgZW50cmllcw0K PiAqLw0KPiAgICAgX0lPTU1VX0ZMVVNIRl9tb2RpZmllZCwgLyogbW9kaWZpZWQgZW50cmllcyAq Lw0KPiB9Ow0KPiANCj4gLi4uLCBpbiBwYXJ0aWN1bGFyIHRoZSAibm8gbW9kaWZpZWQgZW50cmll cyIgcGFydC4NCg0KVGhhdCB3YXMgc3VwcG9zZWQgdG8gZW1waGFzaXplIHRoZSBuZWVkIGZvciB0 aGUgb3RoZXIgZmxhZyB3YXMgbmVlZGVkIHRoZSBjYXNlIG9mIGEgbWFwcGluZyB0aGF0IG1vZGlm aWVzIGFuIGV4aXN0aW5nIGVudHJ5Li4uIEknbGwgcmUtc3RhdGUgdXNpbmcgYSBibG9jayBjb21t ZW50Lg0KDQo+IA0KPiA+PiA+IEBAIC04NCw3ICs4Niw3IEBAIHN0YXRpYyBib29sIHNldF9pb21t dV9wZGVfcHJlc2VudCh1aW50MzJfdCAqcGRlLA0KPiA+PiB1bnNpZ25lZCBsb25nIG5leHRfbWZu LA0KPiA+PiA+DQo+ID4+ID4gICAgICAgICAgaWYgKCBtYWRkcl9vbGQgIT0gbWFkZHJfbmV4dCB8 fCBpdyAhPSBvbGRfdyB8fCBpciAhPSBvbGRfcg0KPiB8fA0KPiA+PiA+ICAgICAgICAgICAgICAg b2xkX2xldmVsICE9IG5leHRfbGV2ZWwgKQ0KPiA+PiA+IC0gICAgICAgICAgICBuZWVkX2ZsdXNo ID0gdHJ1ZTsNCj4gPj4gPiArICAgICAgICAgICAgZmx1c2hfZmxhZ3MgPSBJT01NVV9GTFVTSEZf bW9kaWZpZWQ7DQo+ID4+DQo+ID4+IFdoeSB1bmlmb3JtbHkgIm1vZGlmaWVkIj8NCj4gPg0KPiA+ IEJlY2F1c2UgdGhlIEFNRCBJT01NVSBkb2VzIHJlcXVpcmUgZmx1c2hpbmcgZm9yIGEgbm9uLXBy ZXNlbnQgLT4gcHJlc2VudA0KPiA+IHRyYW5zaXRpb24gQUZBSUNULiBUaGUgb2xkIGNvZGUgY2Vy dGFpbmx5IGltcGxpZXMgdGhpcy4NCj4gDQo+IEl0IGlzIG9uZSB0aGluZyB3aGF0IHRoZSBmbHVz aCBmdW5jdGlvbiBkb2VzIHdpdGggdGhlIHZhbHVlLCBidXQNCj4gYW5vdGhlciB3aGV0aGVyIHRo ZSBtb2RpZnlpbmcgZnVuY3Rpb24gImxpZXMiLiBJJ20gbm90IG9wcG9zZWQNCj4gdG8gc2ltcGxp ZmljYXRpb24sIGJ1dCB0aGVuIGEgY29tbWVudCBuZWVkcyB0byBleHBsYWluIHRoaXMuDQo+IA0K DQpPay4gTWF5YmUgaXQgaXMgc2ltcGxlciBub3QgdG8gb21pdCByZXF1ZXN0aW5nIHRoZSAnYWRk ZWQnIGZsdXNoIGhlcmUgYW5kIHRoZW4ganVzdCBpZ25vcmUgaXQgaW4gdGhlIGZsdXNoIG1ldGhv ZC4NCg0KPiA+PiA+IEBAIC0yMzUsNiArMjM2LDkgQEAgdm9pZCBfX2h3ZG9tX2luaXQgaW9tbXVf aHdkb21faW5pdChzdHJ1Y3QgZG9tYWluDQo+ICpkKQ0KPiA+PiA+ICAgICAgICAgICAgICAgICAg cHJvY2Vzc19wZW5kaW5nX3NvZnRpcnFzKCk7DQo+ID4+ID4gICAgICAgICAgfQ0KPiA+PiA+DQo+ ID4+ID4gKyAgICAgICAgd2hpbGUgKCAhZmx1c2hfZmxhZ3MgJiYgaW9tbXVfZmx1c2hfYWxsKGQp ICkNCj4gPj4gPiArICAgICAgICAgICAgYnJlYWs7DQo+ID4+DQo+ID4+IElzIHRoZXJlIGEgY29t bWVudCBtaXNzaW5nIGhlcmUgZXhwbGFpbmluZyB0aGUgc2VlbWluZ2x5IG9kZA0KPiA+PiBsb29w Pw0KPiA+DQo+ID4gSSdtIG1lcmVseSB1c2luZyB0aGUgY29uc3RydWN0IHlvdSBzdWdnZXN0ZWQs IGJ1dCBJIGNhbiBhZGQgYSBjb21tZW50Lg0KPiANCj4gQW5kIEknbSBmaW5lIHdpdGggdGhlIGNv bnN0cnVjdCwgYnV0IGluIHRoZSBvdGhlciBwbGFjZSAoZm9yIHdoaWNoDQo+IHdlIGRpZCBkaXNj dXNzIHRoaXMgZm9yIHRoZSBlYXJsaWVyIHZlcnNpb24pIHRoZXJlIGlzIGEgY29tbWVudC4NCj4N Cg0KT2suIEknbGwgYWRkIGEgc2ltaWxhciBjb21tZW50Lg0KDQo+ID4+ID4gLS0tIGEveGVuL2Ry aXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMNCj4gPj4gPiArKysgYi94ZW4vZHJpdmVycy9w YXNzdGhyb3VnaC92dGQvaW9tbXUuYw0KPiA+PiA+IEBAIC02MzMsMTEgKzYzMywxNCBAQCBzdGF0 aWMgaW50IF9fbXVzdF9jaGVjaw0KPiBpb21tdV9mbHVzaF9pb3RsYihzdHJ1Y3QNCj4gPj4gZG9t YWluICpkLCBkZm5fdCBkZm4sDQo+ID4+ID4NCj4gPj4gPiAgc3RhdGljIGludCBfX211c3RfY2hl Y2sgaW9tbXVfZmx1c2hfaW90bGJfcGFnZXMoc3RydWN0IGRvbWFpbiAqZCwNCj4gPj4gPiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGZuX3QgZGZuLA0K PiA+PiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1 bnNpZ25lZCBpbnQNCj4gPj4gcGFnZV9jb3VudCkNCj4gPj4gPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50DQo+ID4+IHBhZ2VfY291 bnQsDQo+ID4+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHVuc2lnbmVkIGludA0KPiA+PiBmbHVzaF9mbGFncykNCj4gPj4gPiAgew0KPiA+PiA+ICAg ICAgQVNTRVJUKHBhZ2VfY291bnQgJiYgIWRmbl9lcShkZm4sIElOVkFMSURfREZOKSk7DQo+ID4+ ID4gKyAgICBBU1NFUlQoZmx1c2hfZmxhZ3MpOw0KPiA+PiA+DQo+ID4+ID4gLSAgICByZXR1cm4g aW9tbXVfZmx1c2hfaW90bGIoZCwgZGZuLCAxLCBwYWdlX2NvdW50KTsNCj4gPj4gPiArICAgIHJl dHVybiBpb21tdV9mbHVzaF9pb3RsYihkLCBkZm4sIGZsdXNoX2ZsYWdzICYNCj4gPj4gSU9NTVVf RkxVU0hGX21vZGlmaWVkLA0KPiA+PiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBh Z2VfY291bnQpOw0KPiA+Pg0KPiA+PiBXaHkgdGhlIHJlc3RyaWN0aW9uIHRvICJtb2RpZmllZCI/ DQo+ID4NCj4gPiBUaGUgcGFyYW1ldGVyIGlzIGEgYm9vbCB3aGljaCBzaG91bGQgYmUgdHJ1ZSBp ZiBhbiBleGlzdGluZyBQVEUgd2FzDQo+IG1vZGlmaWVkDQo+ID4gb3IgZmFsc2Ugb3RoZXJ3aXNl LiBJIGNhbiBtYWtlIHRoaXMgISEoZmx1c2hfZmxhZ3MgJg0KPiBJT01NVV9GTFVTSEZfbW9kaWZp ZWQpIGlzDQo+ID4geW91IHByZWZlci4NCj4gDQo+IE5vLCB0aGF0IHdhc24ndCBteSBwb2ludC4g VGhlIHF1ZXN0aW9uIGlzIHdoeSB0aGlzIGlzbid0IGp1c3QNCj4gImZsdXNoX2ZsYWdzIiwgd2l0 aG91dCBhbnkgbWFza2luZy4gSWlyYyB0aGVyZSBhcmUgcHJlY2F1dGlvbnMNCj4gaW4gdGhlIFZU LWQgY29kZSB0byBkZWFsIHdpdGggaGFyZHdhcmUgd2hpY2ggbWF5IGNhY2hlDQo+IG5vbi1wcmVz ZW50IGVudHJpZXMuIEluIHRoYXQgY2FzZSAiYWRkZWQiIHJlcXVpcmVzIGZsdXNoaW5nIHRvby4N Cj4gDQoNCkkgZG9uJ3QgdW5kZXJzdGFuZC4gaW9tbXVfZmx1c2hfaW90bGIoKSdzIHRoaXJkIGFy Z3VtZW50IGlzICdkbWFfb2xkX3B0ZV9wcmVzZW50JyBzbyB0aGF0IHNob3VsZCBiZSB0cnVlIGlm ZiBJT01NVV9GTFVTSEZfbW9kaWZpZWQgaXMgc2V0LiBJT01NVV9GTFVTSEZfYWRkZWQgaXMgaXJy ZWxldmFudCB0byB0aGUgaW1wbGVtZW50YXRpb24uDQoNCiAgUGF1bA0KDQo+IEphbg0KPiANCj4g DQo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+IFhl bi1kZXZlbCBtYWlsaW5nIGxpc3QNCj4gWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnDQo+ IGh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWwN Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZl bCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlz dHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=