From mboxrd@z Thu Jan 1 00:00:00 1970 From: George Dunlap Subject: Re: [PATCH v3 03/10] IOMMU/MMU: enhance the call trees of IOMMU unmapping and mapping Date: Wed, 4 May 2016 14:48:43 +0100 Message-ID: References: <1461921917-48394-1-git-send-email-quan.xu@intel.com> <1461921917-48394-4-git-send-email-quan.xu@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1461921917-48394-4-git-send-email-quan.xu@intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Quan Xu Cc: Kevin Tian , Keir Fraser , Jun Nakajima , Andrew Cooper , Dario Faggioli , "xen-devel@lists.xen.org" , Jan Beulich List-Id: xen-devel@lists.xenproject.org T24gRnJpLCBBcHIgMjksIDIwMTYgYXQgMTA6MjUgQU0sIFF1YW4gWHUgPHF1YW4ueHVAaW50ZWwu Y29tPiB3cm90ZToKPiBXaGVuIElPTU1VIG1hcHBpbmcgaXMgZmFpbGVkLCB3ZSBpc3N1ZSBhIGJl c3QgZWZmb3J0IHJvbGxiYWNrLCBzdG9wcGluZwo+IElPTU1VIG1hcHBpbmcsIHVubWFwcGluZyB0 aGUgcHJldmlvdXMgSU9NTVUgbWFwcyBhbmQgdGhlbiByZXBvcnRpbmcgdGhlCj4gZXJyb3IgdXAg dG8gdGhlIGNhbGwgdHJlZXMuIFdoZW4gcm9sbGJhY2sgaXMgbm90IGZlYXNpYmxlIChpbiBlYXJs eQo+IGluaXRpYWxpemF0aW9uIHBoYXNlIG9yIHRyYWRlLW9mZiBvZiBjb21wbGV4aXR5KSBmb3Ig dGhlIGhhcmR3YXJlIGRvbWFpbiwKPiB3ZSBkbyB0aGluZ3Mgb24gYSBiZXN0IGVmZm9ydCBiYXNp cywgb25seSB0aHJvd2luZyBvdXQgYW4gZXJyb3IgbWVzc2FnZS4KPgo+IElPTU1VIHVubWFwcGlu ZyBzaG91bGQgcGVyaGFwcyBjb250aW51ZSBkZXNwaXRlIGFuIGVycm9yLCBpbiBhbiBhdHRlbXB0 Cj4gdG8gZG8gYmVzdCBlZmZvcnQgY2xlYW51cC4KPgo+IFNpZ25lZC1vZmYtYnk6IFF1YW4gWHUg PHF1YW4ueHVAaW50ZWwuY29tPgo+Cj4gQ0M6IEtlaXIgRnJhc2VyIDxrZWlyQHhlbi5vcmc+Cj4g Q0M6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KPiBDQzogQW5kcmV3IENvb3BlciA8 YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KPiBDQzogSnVuIE5ha2FqaW1hIDxqdW4ubmFrYWpp bWFAaW50ZWwuY29tPgo+IENDOiBLZXZpbiBUaWFuIDxrZXZpbi50aWFuQGludGVsLmNvbT4KPiBD QzogR2VvcmdlIER1bmxhcCA8Z2VvcmdlLmR1bmxhcEBldS5jaXRyaXguY29tPgo+IC0tLQo+ICB4 ZW4vYXJjaC94ODYvbW0uYyAgICAgICAgICAgICAgIHwgMTMgKysrKysrKystLS0tLQo+ICB4ZW4v YXJjaC94ODYvbW0vcDJtLWVwdC5jICAgICAgIHwgMjcgKysrKysrKysrKysrKysrKysrKysrKysr Ky0tCj4gIHhlbi9hcmNoL3g4Ni9tbS9wMm0tcHQuYyAgICAgICAgfCAyNCArKysrKysrKysrKysr KysrKysrKy0tLS0KPiAgeGVuL2FyY2gveDg2L21tL3AybS5jICAgICAgICAgICB8IDExICsrKysr KysrKy0tCj4gIHhlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2lvbW11LmMgfCAxNCArKysrKysrKysr KysrLQo+ICA1IGZpbGVzIGNoYW5nZWQsIDc1IGluc2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygt KQo+Cj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS5jIGIveGVuL2FyY2gveDg2L21tLmMK PiBpbmRleCBhNDIwOTdmLi40MjcwOTdkIDEwMDY0NAo+IC0tLSBhL3hlbi9hcmNoL3g4Ni9tbS5j Cj4gKysrIGIveGVuL2FyY2gveDg2L21tLmMKPiBAQCAtMjQ2Nyw3ICsyNDY3LDcgQEAgc3RhdGlj IGludCBfX2dldF9wYWdlX3R5cGUoc3RydWN0IHBhZ2VfaW5mbyAqcGFnZSwgdW5zaWduZWQgbG9u ZyB0eXBlLAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcHJlZW1wdGlibGUpCj4g IHsKPiAgICAgIHVuc2lnbmVkIGxvbmcgbngsIHgsIHkgPSBwYWdlLT51LmludXNlLnR5cGVfaW5m bzsKPiAtICAgIGludCByYyA9IDA7Cj4gKyAgICBpbnQgcmMgPSAwLCByZXQgPSAwOwo+Cj4gICAg ICBBU1NFUlQoISh0eXBlICYgfihQR1RfdHlwZV9tYXNrIHwgUEdUX3BhZV94ZW5fbDIpKSk7Cj4K PiBAQCAtMjU3OCwxMSArMjU3OCwxMSBAQCBzdGF0aWMgaW50IF9fZ2V0X3BhZ2VfdHlwZShzdHJ1 Y3QgcGFnZV9pbmZvICpwYWdlLCB1bnNpZ25lZCBsb25nIHR5cGUsCj4gICAgICAgICAgaWYgKCBk ICYmIGlzX3B2X2RvbWFpbihkKSAmJiB1bmxpa2VseShuZWVkX2lvbW11KGQpKSApCj4gICAgICAg ICAgewo+ICAgICAgICAgICAgICBpZiAoICh4ICYgUEdUX3R5cGVfbWFzaykgPT0gUEdUX3dyaXRh YmxlX3BhZ2UgKQo+IC0gICAgICAgICAgICAgICAgaW9tbXVfdW5tYXBfcGFnZShkLCBtZm5fdG9f Z21mbihkLCBwYWdlX3RvX21mbihwYWdlKSkpOwo+ICsgICAgICAgICAgICAgICAgcmV0ID0gaW9t bXVfdW5tYXBfcGFnZShkLCBtZm5fdG9fZ21mbihkLCBwYWdlX3RvX21mbihwYWdlKSkpOwo+ICAg ICAgICAgICAgICBlbHNlIGlmICggdHlwZSA9PSBQR1Rfd3JpdGFibGVfcGFnZSApCj4gLSAgICAg ICAgICAgICAgICBpb21tdV9tYXBfcGFnZShkLCBtZm5fdG9fZ21mbihkLCBwYWdlX3RvX21mbihw YWdlKSksCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWdlX3RvX21mbihwYWdl KSwKPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElPTU1VRl9yZWFkYWJsZXxJT01N VUZfd3JpdGFibGUpOwo+ICsgICAgICAgICAgICAgICAgcmV0ID0gaW9tbXVfbWFwX3BhZ2UoZCwg bWZuX3RvX2dtZm4oZCwgcGFnZV90b19tZm4ocGFnZSkpLAo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgcGFnZV90b19tZm4ocGFnZSksCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBJT01NVUZfcmVhZGFibGV8SU9NTVVGX3dyaXRhYmxlKTsKPiAg ICAgICAgICB9Cj4gICAgICB9Cj4KPiBAQCAtMjU5OSw2ICsyNTk5LDkgQEAgc3RhdGljIGludCBf X2dldF9wYWdlX3R5cGUoc3RydWN0IHBhZ2VfaW5mbyAqcGFnZSwgdW5zaWduZWQgbG9uZyB0eXBl LAo+ICAgICAgaWYgKCAoeCAmIFBHVF9wYXJ0aWFsKSAmJiAhKG54ICYgUEdUX3BhcnRpYWwpICkK PiAgICAgICAgICBwdXRfcGFnZShwYWdlKTsKPgo+ICsgICAgaWYgKCAhcmMgKQo+ICsgICAgICAg IHJjID0gcmV0Owo+ICsKPiAgICAgIHJldHVybiByYzsKPiAgfQo+Cj4gZGlmZiAtLWdpdCBhL3hl bi9hcmNoL3g4Ni9tbS9wMm0tZXB0LmMgYi94ZW4vYXJjaC94ODYvbW0vcDJtLWVwdC5jCj4gaW5k ZXggMWVkNWI0Ny4uZGY4Nzk0NCAxMDA2NDQKPiAtLS0gYS94ZW4vYXJjaC94ODYvbW0vcDJtLWVw dC5jCj4gKysrIGIveGVuL2FyY2gveDg2L21tL3AybS1lcHQuYwo+IEBAIC04MjEsNiArODIxLDgg QEAgb3V0Ogo+ICAgICAgaWYgKCBuZWVkc19zeW5jICkKPiAgICAgICAgICBlcHRfc3luY19kb21h aW4ocDJtKTsKPgo+ICsgICAgcmV0ID0gMDsKPiArCj4gICAgICAvKiBGb3IgaG9zdCBwMm0sIG1h eSBuZWVkIHRvIGNoYW5nZSBWVC1kIHBhZ2UgdGFibGUuKi8KPiAgICAgIGlmICggcmMgPT0gMCAm JiBwMm1faXNfaG9zdHAybShwMm0pICYmIG5lZWRfaW9tbXUoZCkgJiYKPiAgICAgICAgICAgbmVl ZF9tb2RpZnlfdnRkX3RhYmxlICkKPiBAQCAtODMxLDExICs4MzMsMjkgQEAgb3V0Ogo+ICAgICAg ICAgIHsKPiAgICAgICAgICAgICAgaWYgKCBpb21tdV9mbGFncyApCj4gICAgICAgICAgICAgICAg ICBmb3IgKCBpID0gMDsgaSA8ICgxIDw8IG9yZGVyKTsgaSsrICkKPiAtICAgICAgICAgICAgICAg ICAgICBpb21tdV9tYXBfcGFnZShkLCBnZm4gKyBpLCBtZm5feChtZm4pICsgaSwgaW9tbXVfZmxh Z3MpOwo+ICsgICAgICAgICAgICAgICAgewo+ICsgICAgICAgICAgICAgICAgICAgIHJjID0gaW9t bXVfbWFwX3BhZ2UoZCwgZ2ZuICsgaSwgbWZuX3gobWZuKSArIGksIGlvbW11X2ZsYWdzKTsKPiAr Cj4gKyAgICAgICAgICAgICAgICAgICAgaWYgKCAhcmV0ICYmIHVubGlrZWx5KHJjKSApCj4gKyAg ICAgICAgICAgICAgICAgICAgewo+ICsgICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAoIGkt LSApCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpb21tdV91bm1hcF9wYWdlKGQsIGdm biArIGkpOwo+ICsKPiArICAgICAgICAgICAgICAgICAgICAgICAgcmV0ID0gcmM7Cj4gKyAgICAg ICAgICAgICAgICAgICAgICAgIGJyZWFrOwo+ICsgICAgICAgICAgICAgICAgICAgIH0KPiArICAg ICAgICAgICAgICAgIH0KPiAgICAgICAgICAgICAgZWxzZQo+ICAgICAgICAgICAgICAgICAgZm9y ICggaSA9IDA7IGkgPCAoMSA8PCBvcmRlcik7IGkrKyApCj4gLSAgICAgICAgICAgICAgICAgICAg aW9tbXVfdW5tYXBfcGFnZShkLCBnZm4gKyBpKTsKPiArICAgICAgICAgICAgICAgIHsKPiArICAg ICAgICAgICAgICAgICAgICByYyA9IGlvbW11X3VubWFwX3BhZ2UoZCwgZ2ZuICsgaSk7Cj4gKwo+ ICsgICAgICAgICAgICAgICAgICAgIGlmICggIXJldCAmJiB1bmxpa2VseShyYykgKQo+ICsgICAg ICAgICAgICAgICAgICAgICAgICByZXQgPSByYzsKPiArICAgICAgICAgICAgICAgIH0KPiAgICAg ICAgICB9Cj4gKwo+ICsgICAgICAgIHJjID0gMDsKPiAgICAgIH0KClNvIHRoZSByZWFzb24gZm9y IGRvaW5nIHRoaXMgdGhpbmcgd2l0aCBzZXR0aW5nIHJldD0wLCB0aGVuIHVzaW5nIHJjLAp0aGVu IHNldHRpbmcgcmMgdG8gemVybywgaXMgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIGNoYW5nZSBpcyBw cm9wYWdhdGVkCnRvIHRoZSBhbHRwMm0gaWYgbmVjZXNzYXJ5PwoKSSdtIG5vdCBhIGZhbiBvZiB0 aGlzIHNvcnQgb2YgImltcGxpZWQgc2lnbmFsbGluZyIuICBUaGUgY2hlY2sgYXQgdGhlCmFsdHAy bSBjb25kaXRpb25hbCBpcyBtZWFudCB0byBzYXksICJldmVyeXRoaW5nIHdlbnQgZmluZSwgZ28g YWhlYWQKYW5kIHByb3BhZ2F0ZSB0aGUgY2hhbmdlIi4gIEJ1dCB3aXRoIHlvdXIgY2hhbmdlcywg dGhhdCdzIG5vdCB3aGF0IHdlCndhbnQgYW55bW9yZSAtLSB3ZSB3YW50LCAiSWYgdGhlIGNoYW5n ZSBhY3R1YWxseSBtYWRlIGl0IGludG8gdGhlCmhvc3RwMm0sIHByb3BhZ2F0ZSBpdCB0byB0aGUg YWx0cDJtLiIKCkFzIHN1Y2gsIEkgdGhpbmsgaXQgd291bGQgYmUgYSBsb3QgY2xlYXJlciB0byBq dXN0IG1ha2UgYSBuZXcgYm9vbGVhbgp2YXJpYWJsZSwgbWF5YmUgImVudHJ5X3dyaXR0ZW4iLCB3 aGljaCB3ZSBpbml0aWFsaXplIHRvIGZhbHNlIGFuZCB0aGVuCnNldCB0byB0cnVlIHdoZW4gdGhl IGVudHJ5IGlzIGFjdHVhbGx5IHdyaXR0ZW47IGFuZCB0aGVuIGNoYW5nZSB0aGUKY29uZGl0aW9u IHJlIHRoZSBhbHRwMm0gdG8gImlmICggZW50cnlfd3JpdHRlbiAmJiBwMm1faXNfaG9zdHAybSgu LikKKSIuCgpUaGVuIEkgdGhpbmsgeW91IGNvdWxkIG1ha2UgdGhlIHJldCAvIHJjIHVzZSBtaXJy b3Igd2hhdCB5b3UgZG8KZWxzZXdoZXJlLCB3aGVyZSByZXQgaXMgdXNlZCB0byBzdG9yZSB0aGUg cmV0dXJuIHZhbHVlIG9mIHRoZSBmdW5jdGlvbgpjYWxsLCBhbmQgaXQncyBwcm9wYWdhdGVkIHRv IHJjIG9ubHkgaWYgcmMgaXMgbm90IGFscmVhZHkgc2V0LgoKPiBAQCAtNjgwLDExICs2ODAsMjcg QEAgcDJtX3B0X3NldF9lbnRyeShzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtLCB1bnNpZ25lZCBsb25n IGdmbiwgbWZuX3QgbWZuLAo+ICAgICAgICAgIH0KPiAgICAgICAgICBlbHNlIGlmICggaW9tbXVf cHRlX2ZsYWdzICkKPiAgICAgICAgICAgICAgZm9yICggaSA9IDA7IGkgPCAoMVVMIDw8IHBhZ2Vf b3JkZXIpOyBpKysgKQo+IC0gICAgICAgICAgICAgICAgaW9tbXVfbWFwX3BhZ2UocDJtLT5kb21h aW4sIGdmbiArIGksIG1mbl94KG1mbikgKyBpLAo+IC0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgaW9tbXVfcHRlX2ZsYWdzKTsKPiArICAgICAgICAgICAgewo+ICsgICAgICAgICAgICAg ICAgcmV0ID0gaW9tbXVfbWFwX3BhZ2UocDJtLT5kb21haW4sIGdmbiArIGksIG1mbl94KG1mbikg KyBpLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpb21tdV9wdGVfZmxh Z3MpOwo+ICsKPiArICAgICAgICAgICAgICAgIGlmICggIXJjICYmIHVubGlrZWx5KHJldCkgKQo+ ICsgICAgICAgICAgICAgICAgewo+ICsgICAgICAgICAgICAgICAgICAgIHdoaWxlICggaS0tICkK PiArICAgICAgICAgICAgICAgICAgICAgICAgaW9tbXVfdW5tYXBfcGFnZShwMm0tPmRvbWFpbiwg Z2ZuICsgaSk7Cj4gKwo+ICsgICAgICAgICAgICAgICAgICAgIHJjID0gcmV0Owo+ICsgICAgICAg ICAgICAgICAgICAgIGJyZWFrOwo+ICsgICAgICAgICAgICAgICAgfQoKSG1tLCBpcyB0aGlzIGNv bmRpdGlvbmFsIGhlcmUgcmlnaHQ/ICBXaGF0IHRoZSBjb2RlIGFjdHVhbGx5IHNheXMgdG8KZG8g aXMgdG8gYWx3YXlzIG1hcCBwYWdlcywgYnV0IHRvIG9ubHkgdW5tYXAgdGhlbSBvbiBhbiBlcnJv ciBpZiB0aGVyZQpoYXZlIGJlZW4gbm8gb3RoZXIgZXJyb3JzIGluIHRoZSBmdW5jdGlvbiBzbyBm YXIuCgpBcyBpdCBoYXBwZW5zLCBhdCB0aGUgbW9tZW50IHJjIGNhbm5vdCBiZSBub24temVybyBo ZXJlIHNpbmNlIGFueSB0aW1lCml0J3Mgbm9uLXplcm8gdGhlIGNvZGUganVtcHMgZG93biB0byB0 aGUgJ291dCcgbGFiZWwsIHNraXBwaW5nIHRoaXMuCkJ1dCBpZiB0aGF0IGV2ZXIgY2hhbmdlZCwg dGhpcyB3b3VsZCBmYWlsIHRvIHVubWFwIHdoZW4gaXQgcHJvYmFibHkKc2hvdWxkLgoKSXQgc2Vl bXMgbGlrZSB0aGlzIGJlOgoKaWYgKCB1bmxpa2VseShyZXQpICkKewogIHdoaWxlICggaS0tICkK ICAgIGlvbW11X3VubWFwX3BhZ2UocDJtLT5kb21haW4sIGdmbiArIGkpOwogIGlmICggIXJjICkK ICAgIHJjID0gcmV0OwogIGJyZWFrOwp9CgpPciBpZiB5b3Ugd2FudCB0byBhc3N1bWUgdGhhdCBy YyB3aWxsIG5ldmVyIGJlIHplcm8sIHRoZW4gcHV0IGFuCkFTU0VSVCgpIGp1c3QgYmVmb3JlIHRo ZSBmb3IgbG9vcCBoZXJlLgoKRXZlcnl0aGluZyBlbHNlIGxvb2tzIGdvb2QgdG8gbWUuICBUaGFu a3MgYWdhaW4gZm9yIHlvdXIgd29yayBvbiB0aGlzLgoKIC1HZW9yZ2UKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QK WGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==