From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: Re: [Patch v6 02/11] IOMMU/MMU: enhance the call trees of IOMMU unmapping and mapping Date: Wed, 01 Jun 2016 04:05:10 -0600 Message-ID: <574ECF7602000078000F0518@prv-mh.provo.novell.com> References: <1464703056-4741-1-git-send-email-quan.xu@intel.com> <1464703056-4741-3-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: <1464703056-4741-3-git-send-email-quan.xu@intel.com> Content-Disposition: inline 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 , George Dunlap , Andrew Cooper , dario.faggioli@citrix.com, xen-devel@lists.xen.org, Jun Nakajima List-Id: xen-devel@lists.xenproject.org Pj4+IE9uIDMxLjA1LjE2IGF0IDE1OjU3LCA8cXVhbi54dUBpbnRlbC5jb20+IHdyb3RlOgo+IC0t LSBhL3hlbi9hcmNoL3g4Ni9tbS9wMm0tcHQuYwo+ICsrKyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0t cHQuYwo+IEBAIC02NzMsNiArNjczLDggQEAgcDJtX3B0X3NldF9lbnRyeShzdHJ1Y3QgcDJtX2Rv bWFpbiAqcDJtLCB1bnNpZ25lZCBsb25nIGdmbiwgbWZuX3QgbWZuLAo+ICAgICAgaWYgKCBpb21t dV9lbmFibGVkICYmIG5lZWRfaW9tbXUocDJtLT5kb21haW4pICYmCj4gICAgICAgICAgIChpb21t dV9vbGRfZmxhZ3MgIT0gaW9tbXVfcHRlX2ZsYWdzIHx8IG9sZF9tZm4gIT0gbWZuX3gobWZuKSkg KQo+ICAgICAgewo+ICsgICAgICAgIGludCByZXQ7Cj4gKwo+ICAgICAgICAgIGlmICggaW9tbXVf dXNlX2hhcF9wdChwMm0tPmRvbWFpbikgKQo+ICAgICAgICAgIHsKPiAgICAgICAgICAgICAgaWYg KCBpb21tdV9vbGRfZmxhZ3MgKQo+IEBAIC02ODAsMTEgKzY4MiwyNyBAQCBwMm1fcHRfc2V0X2Vu dHJ5KHN0cnVjdCBwMm1fZG9tYWluICpwMm0sIHVuc2lnbmVkIGxvbmcgZ2ZuLCBtZm5fdCBtZm4s Cj4gICAgICAgICAgfQo+ICAgICAgICAgIGVsc2UgaWYgKCBpb21tdV9wdGVfZmxhZ3MgKQo+ICAg ICAgICAgICAgICBmb3IgKCBpID0gMDsgaSA8ICgxVUwgPDwgcGFnZV9vcmRlcik7IGkrKyApCj4g LSAgICAgICAgICAgICAgICBpb21tdV9tYXBfcGFnZShwMm0tPmRvbWFpbiwgZ2ZuICsgaSwgbWZu X3gobWZuKSArIGksCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpb21tdV9wdGVf ZmxhZ3MpOwo+ICsgICAgICAgICAgICB7Cj4gKyAgICAgICAgICAgICAgICByZXQgPSBpb21tdV9t YXBfcGFnZShwMm0tPmRvbWFpbiwgZ2ZuICsgaSwgbWZuX3gobWZuKSArIGksCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpb21tdV9wdGVfZmxhZ3MpOwo+ICsgICAgICAg ICAgICAgICAgaWYgKCB1bmxpa2VseShyZXQpICkKPiArICAgICAgICAgICAgICAgIHsKPiArICAg ICAgICAgICAgICAgICAgICB3aGlsZSAoIGktLSApCj4gKyAgICAgICAgICAgICAgICAgICAgICAg IGlvbW11X3VubWFwX3BhZ2UocDJtLT5kb21haW4sIGdmbiArIGkpOwo+ICsKPiArICAgICAgICAg ICAgICAgICAgICBpZiAoICFyYyApCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIHJjID0gcmV0 Owo+ICsKPiArICAgICAgICAgICAgICAgICAgICBicmVhazsKPiArICAgICAgICAgICAgICAgIH0K PiArICAgICAgICAgICAgfQoKU28gd2h5IGRvIHlvdSBub3QgdXNlIHRoZSBzYW1lIGNvZGUgc3Ry dWN0dXJlIGhlcmUgYXMgeW91IGRvCm9uIHRoZSBFUFQgc2lkZT8gSS5lLiBkbyBhd2F5IHdpdGgg dXNpbmcgInJldCIgYWx0b2dldGhlciwgbW92aW5nCml0IGFsbCBpbnRvIC4uLgoKPiAgICAgICAg ICBlbHNlCj4gICAgICAgICAgICAgIGZvciAoIGkgPSAwOyBpIDwgKDFVTCA8PCBwYWdlX29yZGVy KTsgaSsrICkKPiAtICAgICAgICAgICAgICAgIGlvbW11X3VubWFwX3BhZ2UocDJtLT5kb21haW4s IGdmbiArIGkpOwo+ICsgICAgICAgICAgICB7Cj4gKyAgICAgICAgICAgICAgICByZXQgPSBpb21t dV91bm1hcF9wYWdlKHAybS0+ZG9tYWluLCBnZm4gKyBpKTsKPiArICAgICAgICAgICAgICAgIGlm ICggIXJjICkKPiArICAgICAgICAgICAgICAgICAgICByYyA9IHJldDsKPiArICAgICAgICAgICAg fQoKLi4uIHRoaXMgZXh0cmVtZWx5IG5hcnJvdyBzY29wZT8KCj4gLS0tIGEveGVuL2FyY2gveDg2 L21tL3AybS5jCj4gKysrIGIveGVuL2FyY2gveDg2L21tL3AybS5jCj4gQEAgLTY0MSwxMCArNjQx LDIxIEBAIHAybV9yZW1vdmVfcGFnZShzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtLCB1bnNpZ25lZCBs b25nIGdmbiwgdW5zaWduZWQgbG9uZyBtZm4sCj4gIAo+ICAgICAgaWYgKCAhcGFnaW5nX21vZGVf dHJhbnNsYXRlKHAybS0+ZG9tYWluKSApCj4gICAgICB7Cj4gKyAgICAgICAgaW50IHJjID0gMDsK PiArCj4gICAgICAgICAgaWYgKCBuZWVkX2lvbW11KHAybS0+ZG9tYWluKSApCj4gKyAgICAgICAg ewo+ICAgICAgICAgICAgICBmb3IgKCBpID0gMDsgaSA8ICgxIDw8IHBhZ2Vfb3JkZXIpOyBpKysg KQo+IC0gICAgICAgICAgICAgICAgaW9tbXVfdW5tYXBfcGFnZShwMm0tPmRvbWFpbiwgbWZuICsg aSk7Cj4gLSAgICAgICAgcmV0dXJuIDA7Cj4gKyAgICAgICAgICAgIHsKPiArICAgICAgICAgICAg ICAgIGludCByZXQ7Cj4gKwo+ICsgICAgICAgICAgICAgICAgcmV0ID0gaW9tbXVfdW5tYXBfcGFn ZShwMm0tPmRvbWFpbiwgbWZuICsgaSk7CgpJbiBjYXNlcyBsaWtlIHRoaXMgSSdkIHByZWZlciB0 aGUgYXNzaWdubWVudCB0byBiZSByZXBsYWNlZCBieSBpdHMKcmlnaHQgc2lkZSBiZWNvbWluZyB0 aGUgdmFyaWFibGUncyBpbml0aWFsaXplci4KCj4gQEAgLTI1MzUsNiArMjU0Niw3IEBAIGludCBw Mm1fY2hhbmdlX2FsdHAybV9nZm4oc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IGlkeCwK PiAgICAgICAgICBpZiAoIG1mbl92YWxpZChtZm4pICkKPiAgICAgICAgICAgICAgcDJtX3JlbW92 ZV9wYWdlKGFwMm0sIGdmbl94KG9sZF9nZm4pLCBtZm5feChtZm4pLCBQQUdFX09SREVSXzRLKTsK PiAgICAgICAgICByYyA9IDA7Cj4gKwo+ICAgICAgICAgIGdvdG8gb3V0OwoKU3RyYXkgYWRkaXRp b24gb2YgYSBibGFuayBsaW5lLgoKPiAtLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9pb21t dS5jCj4gKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvaW9tbXUuYwo+IEBAIC0xNzEsMjAg KzE3MSwzMiBAQCB2b2lkIF9faHdkb21faW5pdCBpb21tdV9od2RvbV9pbml0KHN0cnVjdCBkb21h aW4gKmQpCj4gICAgICB7Cj4gICAgICAgICAgc3RydWN0IHBhZ2VfaW5mbyAqcGFnZTsKPiAgICAg ICAgICB1bnNpZ25lZCBpbnQgaSA9IDA7Cj4gKyAgICAgICAgaW50IHJjID0gMDsKPiArCj4gICAg ICAgICAgcGFnZV9saXN0X2Zvcl9lYWNoICggcGFnZSwgJmQtPnBhZ2VfbGlzdCApCj4gICAgICAg ICAgewo+ICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIG1mbiA9IHBhZ2VfdG9fbWZuKHBhZ2Up Owo+ICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGdmbiA9IG1mbl90b19nbWZuKGQsIG1mbik7 Cj4gICAgICAgICAgICAgIHVuc2lnbmVkIGludCBtYXBwaW5nID0gSU9NTVVGX3JlYWRhYmxlOwo+ ICsgICAgICAgICAgICBpbnQgcmV0Owo+ICAKPiAgICAgICAgICAgICAgaWYgKCAoKHBhZ2UtPnUu aW51c2UudHlwZV9pbmZvICYgUEdUX2NvdW50X21hc2spID09IDApIHx8Cj4gICAgICAgICAgICAg ICAgICAgKChwYWdlLT51LmludXNlLnR5cGVfaW5mbyAmIFBHVF90eXBlX21hc2spCj4gICAgICAg ICAgICAgICAgICAgID09IFBHVF93cml0YWJsZV9wYWdlKSApCj4gICAgICAgICAgICAgICAgICBt YXBwaW5nIHw9IElPTU1VRl93cml0YWJsZTsKPiAtICAgICAgICAgICAgaGQtPnBsYXRmb3JtX29w cy0+bWFwX3BhZ2UoZCwgZ2ZuLCBtZm4sIG1hcHBpbmcpOwo+ICsKPiArICAgICAgICAgICAgcmV0 ID0gaGQtPnBsYXRmb3JtX29wcy0+bWFwX3BhZ2UoZCwgZ2ZuLCBtZm4sIG1hcHBpbmcpOwo+ICsg ICAgICAgICAgICBpZiAoICFyYyApCj4gKyAgICAgICAgICAgICAgICByYyA9IHJldDsKPiArCj4g ICAgICAgICAgICAgIGlmICggIShpKysgJiAweGZmZmZmKSApCj4gICAgICAgICAgICAgICAgICBw cm9jZXNzX3BlbmRpbmdfc29mdGlycXMoKTsKPiAgICAgICAgICB9Cj4gKwo+ICsgICAgICAgIGlm ICggcmMgKQo+ICsgICAgICAgICAgICBwcmludGsoWEVOTE9HX1dBUk5JTkcKPiArICAgICAgICAg ICAgICAgICAgICJkJWQ6IElPTU1VIG1hcHBpbmcgZmFpbGVkOiAlZCBmb3IgaGFyZHdhcmUgZG9t YWluXG4iLAo+ICsgICAgICAgICAgICAgICAgICAgZC0+ZG9tYWluX2lkLCByYyk7CgpObyBuZWVk IHRvIG1lbnRpb24gImhhcmR3YXJlIGRvbWFpbiIgaGVyZSwgYXMgdGhhdCdzIGdvaW5nIHRvIGJl IGNsZWFyCmJvdGggZnJvbSB0aGUgZG9tYWluIElEIGFuZCB0aGUgcG9pbnQgaW4gdGltZSB3aGVu IHRoaXMgbWVzc2FnZSB3b3VsZAphcHBlYXIuCgpKYW4KCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVs QGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==