From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: Re: [PATCH v2 02/11] IOMMU: handle IOMMU mapping and unmapping failures Date: Wed, 27 Apr 2016 09:02:30 -0600 Message-ID: <5720F0A602000078000E6689@prv-mh.provo.novell.com> References: <1460988011-17758-1-git-send-email-quan.xu@intel.com> <1460988011-17758-3-git-send-email-quan.xu@intel.com> <571DFF0002000078000E5349@prv-mh.provo.novell.com> <945CA011AD5F084CBEA3E851C0AB28894B895E75@SHSMSX101.ccr.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <945CA011AD5F084CBEA3E851C0AB28894B895E75@SHSMSX101.ccr.corp.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: "dario.faggioli@citrix.com" , "xen-devel@lists.xen.org" List-Id: xen-devel@lists.xenproject.org Pj4+IE9uIDI3LjA0LjE2IGF0IDE2OjI2LCA8cXVhbi54dUBpbnRlbC5jb20+IHdyb3RlOgo+IE9u IEFwcmlsIDI1LCAyMDE2IDU6MjcgUE0sIEphbiBCZXVsaWNoIDxKQmV1bGljaEBzdXNlLmNvbT4g d3JvdGU6Cj4+ID4+PiBPbiAxOC4wNC4xNiBhdCAxNjowMCwgPHF1YW4ueHVAaW50ZWwuY29tPiB3 cm90ZToKPj4gPiAtLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9pb21tdS5jCj4+ID4gKysr IGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvaW9tbXUuYwo+PiA+IEBAIC0yNDMsMjEgKzI0Mywz MyBAQCBpbnQgaW9tbXVfbWFwX3BhZ2Uoc3RydWN0IGRvbWFpbiAqZCwKPj4gdW5zaWduZWQgbG9u ZyBnZm4sIHVuc2lnbmVkIGxvbmcgbWZuLAo+PiA+ICAgICAgICAgICAgICAgICAgICAgdW5zaWdu ZWQgaW50IGZsYWdzKSAgewo+PiA+ICAgICAgc3RydWN0IGh2bV9pb21tdSAqaGQgPSBkb21haW5f aHZtX2lvbW11KGQpOwo+PiA+ICsgICAgaW50IHJjOwo+PiA+Cj4+ID4gICAgICBpZiAoICFpb21t dV9lbmFibGVkIHx8ICFoZC0+cGxhdGZvcm1fb3BzICkKPj4gPiAgICAgICAgICByZXR1cm4gMDsK Pj4gPgo+PiA+IC0gICAgcmV0dXJuIGhkLT5wbGF0Zm9ybV9vcHMtPm1hcF9wYWdlKGQsIGdmbiwg bWZuLCBmbGFncyk7Cj4+ID4gKyAgICByYyA9IGhkLT5wbGF0Zm9ybV9vcHMtPm1hcF9wYWdlKGQs IGdmbiwgbWZuLCBmbGFncyk7Cj4+ID4gKwo+PiA+ICsgICAgaWYgKCByYyAmJiAhaXNfaGFyZHdh cmVfZG9tYWluKGQpICkKPj4gPiArICAgICAgICBkb21haW5fY3Jhc2goZCk7Cj4+ID4gKwo+PiA+ ICsgICAgcmV0dXJuIHJjOwo+PiA+ICB9Cj4+IAo+PiBBcyBzYWlkIGJlZm9yZSAtIGxldHRpbmcg dGhpcyBnbyBjb21wbGV0ZWx5IHNpbGVudGx5IGZvciB0aGUgaGFyZHdhcmUgZG9tYWluIAo+IGlz Cj4+IGJhZC4gQXQgbGVhc3QgdGhlIGZpcnN0IGluc3RhbmNlIG9mIHN1Y2ggYW4gZXZlbnQgbmVl ZHMgYSBtZXNzYWdlIHRvIGJlIAo+IGxvZ2dlZC4KPj4gQWR2YW5jZWQgdmFyaWFudHMgd2hlcmUg YSBtZXNzYWdlIGdldHMgbG9nZ2VkIG9uY2UgaW4gYSB3aGlsZSBpZiB0aGUgaXNzdWUgCj4gcmUt Cj4+IG9jY3VycyB3b3VsZCBiZSBuaWNlLCBidXQgYXJlbid0IHN0cmljdGx5IG5lY2Vzc2FyeSBp bW8uIEFuZCBub3RlIHRoYXQgZXZlbgo+PiBsb2dnaW5nIGFsbCBvY2N1cnJlbmNlcyB3b3VsZCBu b3QgYmUgYSBzZWN1cml0eSBpc3N1ZSwgYnV0IGp1c3QgYSB1c2FiaWxpdHkgCj4gb25lCj4+IChi dXQgSSBzdGlsbCByZWNvbW1lbmQgYWdhaW5zdCB0aGlzKS4KPj4gCj4gCj4gSU1PIHRoZSBJT01N VSBtYXAvdW5tYXAgZmFpbHVyZXMgIGFyZSB0aGUgc21hbGwgcHJvYmFiaWxpdHkgZXZlbnRzLiAg SSB0aGluayAKPiB0aGUgbG9nIG1lc3NhZ2Ugd291bGRuJ3QgCj4gc3BhbSBsb2cgbWVzc2FnZS4K ClRoYXQncyB3aGVuIHRoaW5ncyB3b3JrIHJpZ2h0LiBUaGUgY2FzZSB0byBjb25zaWRlciBpcyB3 aGVuIHNvbWV0aGluZwpnb2VzIHdyb25nLCBsZWFkaW5nIHRvIGEgbXlyaWFkIG9mIGZhaWx1cmVz LiBUbyBzZWUgd2hhdCB3ZW50IHdyb25nCmZpcnN0IGl0IGlzIG5lY2Vzc2FyeSB0byBub3Qgd3Jp dGUgb3Zlcmx5IG1hbnkgbWVzc2FnZXMgd2hlbiBtYW55CmZhaWx1cmVzIG9jY3VyIGluIGNsb3Nl IHN1Y2Nlc3Npb24uCgo+IEknZCBsaWtlIG1vZGlmeSBpdCBhcyBmb2xsb3dpbmc6Cj4gLS0tIGEv eGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvaW9tbXUuYwo+ICsrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0 aHJvdWdoL2lvbW11LmMKPiBAQCAtMjQzLDExICsyNDMsMjQgQEAgaW50IGlvbW11X21hcF9wYWdl KHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcgZ2ZuLCB1bnNpZ25lZCBsb25nIG1mbiwK PiAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBmbGFncykKPiAgewo+ICAgICAgc3Ry dWN0IGh2bV9pb21tdSAqaGQgPSBkb21haW5faHZtX2lvbW11KGQpOwo+ICsgICAgaW50IHJjOwo+ IAo+ICAgICAgaWYgKCAhaW9tbXVfZW5hYmxlZCB8fCAhaGQtPnBsYXRmb3JtX29wcyApCj4gICAg ICAgICAgcmV0dXJuIDA7Cj4gCj4gLSAgICByZXR1cm4gaGQtPnBsYXRmb3JtX29wcy0+bWFwX3Bh Z2UoZCwgZ2ZuLCBtZm4sIGZsYWdzKTsKPiArICAgIHJjID0gaGQtPnBsYXRmb3JtX29wcy0+bWFw X3BhZ2UoZCwgZ2ZuLCBtZm4sIGZsYWdzKTsKPiArCj4gKyAgICBpZiAoIHJjICkKPiArICAgIHsK PiArICAgICAgICBwcmludGsoWEVOTE9HX0VSUgo+ICsgICAgICAgICAgICAgICAiaW9tbXVfbWFw X3BhZ2U6IElPTU1VIG1hcHBpbmcgZ2ZuICUjbHggbWZuICUjbHggZmFpbGVkIGZvciBkb20lZC4i LAo+ICsgICAgICAgICAgICAgICBnZm4sIG1mbiwgZC0+ZG9tYWluX2lkKTsKPiArCj4gKyAgICAg ICAgaWYgKCAhaXNfaGFyZHdhcmVfZG9tYWluKGQpICkKPiArICAgICAgICAgICAgZG9tYWluX2Ny YXNoKGQpOwo+ICsgICAgfQo+ICsKPiArICAgIHJldHVybiByYzsKPiAgfQoKVGhhdCdzIG9rYXkg YXMgbG9uZyBhcyBubyBjb2RlIHBhdGggd291bGQgZXZlciB0cmlnZ2VyIGh1bmRyZWRzCm9mIHRo ZXNlIG1lc3NhZ2VzIGJlZm9yZSBnZXR0aW5nIGJhY2sgdG8gdGhlIHBvaW50ZXIgd2hlcmUgdGhl Cm5vdyBkZWFkIGRvbWFpbiBnZXRzIHVuc2NoZWR1bGVkLiBBbmQgbm90ZSB0aGF0IHRoaXMgY2Fu J3QganVzdApiZSAiSSBkb24ndCB0aGluayB0aGlzIGNhbiBoYXBwZW4iLCBidXQgaXQgbmVlZHMg dG8gYmUgZ3VhcmFudGVlZCwKb3IgZWxzZSB5b3UgaW50cm9kdWNlIGEgc2VjdXJpdHkgaXNzdWUu Cgo+IGJ0dywgaW4gY2FzZSAgSSBoYXZlIHByaW50LW91dCBmb3IgbWFwcGluZyBmYWlsdXJlLCBJ IHRoaW5rIGl0IGlzIG5vIG5lZWQgIAo+IHRvIHByaW50IG91dCBhbiBleHRyYSBtZXNzYWdlIGZv ciB0aGUgaGFyZHdhcmUgZG9tYWluLgo+IElmIHRoaXMgaXMgc3RpbGwgbm90IHdoYXQgeW91IHdh bnQsIEknbGwgY29udGludWUgdG8gZW5oYW5jZSBpdC4gQWxzbyBJIGFtIAo+IG5vdCBnb29kIGF0 IGRlc2NyaXB0aW9uLCBzbyBJIHRyeSB0byBzZW5kIG91dCBjb2RlIG1vZGlmaWNhdGlvbiBkaXJl Y3RseS4gCgpJLmUuIEkgY29udGludWUgdG8gdGhpbmsgdGhhdAoKICAgIGlmICggaXNfaGFyZHdh cmVfZG9tYWluKCkgKQogICAgICAgIHByaW50aygpOwogICAgZWxzZQogICAgICAgIGRvbWFpbl9j cmFzaCgpOwoKaXMgdGhlIGJldHRlciBhcHByb2FjaCAoYW5kIHN0aWxsIHN1YmplY3QgdG8gcHJl dmVudGluZyBzcGFtbWluZwp0aGUgbG9nIGFzIHBlciB0aGUgZmlyc3QgcGFydCBvZiBteSByZXBs eSkuCgpKYW4KCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9s aXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=