From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Tian, Kevin" Subject: Re: [PATCH v2 01/11] vt-d: fix the IOMMU flush issue Date: Tue, 19 Apr 2016 06:33:18 +0000 Message-ID: References: <1460988011-17758-1-git-send-email-quan.xu@intel.com> <1460988011-17758-2-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: <1460988011-17758-2-git-send-email-quan.xu@intel.com> Content-Language: en-US List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: "Xu, Quan" , "xen-devel@lists.xen.org" Cc: Keir Fraser , "dario.faggioli@citrix.com" , "Wu, Feng" , Jan Beulich , Andrew Cooper List-Id: xen-devel@lists.xenproject.org PiBGcm9tOiBYdSwgUXVhbgo+IFNlbnQ6IE1vbmRheSwgQXByaWwgMTgsIDIwMTYgMTA6MDAgUE0K PiAKPiBUaGUgcHJvcGFnYXRpb24gdmFsdWUgZnJvbSBJT01NVSBmbHVzaCBpbnRlcmZhY2VzIG1h eSBiZSBwb3NpdGl2ZSwgd2hpY2gKPiBpbmRpY2F0ZXMgY2FsbGVycyBuZWVkIHRvIGZsdXNoIGNh Y2hlLCBub3Qgb25lIG9mIGZhbGl1cmVzLgo+IAo+IHdoZW4gdGhlIHByb3BhZ2F0aW9uIHZhbHVl IGlzIHBvc2l0aXZlLCB0aGlzIHBhdGNoIGZpeGVzIHRoaXMgZmx1c2ggaXNzdWUKPiBhcyBmb2xs b3dzOgo+ICAgLSBjYWxsIGlvbW11X2ZsdXNoX3dyaXRlX2J1ZmZlcigpIHRvIGZsdXNoIGNhY2hl Lgo+ICAgLSByZXR1cm4gemVyby4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBRdWFuIFh1IDxxdWFuLnh1 QGludGVsLmNvbT4KPiAKPiBDQzogS2V2aW4gVGlhbiA8a2V2aW4udGlhbkBpbnRlbC5jb20+Cj4g Q0M6IEZlbmcgV3UgPGZlbmcud3VAaW50ZWwuY29tPgo+IENDOiBLZWlyIEZyYXNlciA8a2VpckB4 ZW4ub3JnPgo+IENDOiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+Cj4gQ0M6IEFuZHJl dyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+Cj4gLS0tCj4gIHhlbi9kcml2ZXJz L3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5jIHwgOTQKPiArKysrKysrKysrKysrKysrKysrKysrKyst LS0tLS0tLS0tLS0tCj4gIHhlbi9pbmNsdWRlL2FzbS14ODYvaW9tbXUuaCAgICAgICAgIHwgIDIg Ky0KPiAgMiBmaWxlcyBjaGFuZ2VkLCA2MyBpbnNlcnRpb25zKCspLCAzMyBkZWxldGlvbnMoLSkK PiAKPiBkaWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMKPiBi L3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5jCj4gaW5kZXggNWFkMjVkYy4uNTBk OThhYyAxMDA2NDQKPiAtLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuYwo+ ICsrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5jCj4gQEAgLTU1OCwxNCAr NTU4LDE2IEBAIHN0YXRpYyB2b2lkIGlvbW11X2ZsdXNoX2FsbCh2b2lkKQo+ICAgICAgfQo+ICB9 Cj4gCj4gLXN0YXRpYyB2b2lkIF9faW50ZWxfaW9tbXVfaW90bGJfZmx1c2goc3RydWN0IGRvbWFp biAqZCwgdW5zaWduZWQgbG9uZyBnZm4sCj4gLSAgICAgICAgaW50IGRtYV9vbGRfcHRlX3ByZXNl bnQsIHVuc2lnbmVkIGludCBwYWdlX2NvdW50KQo+ICtzdGF0aWMgaW50IGlvbW11X2ZsdXNoX2lv dGxiKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcgZ2ZuLAoKYW55IHJlYXNvbiBmb3Ig dGhlIHJlbmFtaW5nIGhlcmU/Cgo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBk bWFfb2xkX3B0ZV9wcmVzZW50LAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2ln bmVkIGludCBwYWdlX2NvdW50KQo+ICB7Cj4gICAgICBzdHJ1Y3QgaHZtX2lvbW11ICpoZCA9IGRv bWFpbl9odm1faW9tbXUoZCk7Cj4gICAgICBzdHJ1Y3QgYWNwaV9kcmhkX3VuaXQgKmRyaGQ7Cj4g ICAgICBzdHJ1Y3QgaW9tbXUgKmlvbW11Owo+ICAgICAgaW50IGZsdXNoX2Rldl9pb3RsYjsKPiAg ICAgIGludCBpb21tdV9kb21pZDsKPiArICAgIGludCByYyA9IDA7Cj4gCj4gICAgICAvKgo+ICAg ICAgICogTm8gbmVlZCBwY2lkZXZlc19sb2NrIGhlcmUgYmVjYXVzZSB3ZSBoYXZlIGZsdXNoCj4g QEAgLTU4NCwyOSArNTg2LDM0IEBAIHN0YXRpYyB2b2lkIF9faW50ZWxfaW9tbXVfaW90bGJfZmx1 c2goc3RydWN0IGRvbWFpbiAqZCwKPiB1bnNpZ25lZCBsb25nIGdmbiwKPiAgICAgICAgICAgICAg Y29udGludWU7Cj4gCj4gICAgICAgICAgaWYgKCBwYWdlX2NvdW50ICE9IDEgfHwgZ2ZuID09IElO VkFMSURfR0ZOICkKPiAtICAgICAgICB7Cj4gLSAgICAgICAgICAgIGlmICggaW9tbXVfZmx1c2hf aW90bGJfZHNpKGlvbW11LCBpb21tdV9kb21pZCwKPiAtICAgICAgICAgICAgICAgICAgICAgICAg MCwgZmx1c2hfZGV2X2lvdGxiKSApCj4gLSAgICAgICAgICAgICAgICBpb21tdV9mbHVzaF93cml0 ZV9idWZmZXIoaW9tbXUpOwo+IC0gICAgICAgIH0KPiArICAgICAgICAgICAgcmMgPSBpb21tdV9m bHVzaF9pb3RsYl9kc2koaW9tbXUsIGlvbW11X2RvbWlkLAo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAwLCBmbHVzaF9kZXZfaW90bGIpOwo+ICAgICAgICAgIGVsc2UK PiArICAgICAgICAgICAgcmMgPSBpb21tdV9mbHVzaF9pb3RsYl9wc2koaW9tbXUsIGlvbW11X2Rv bWlkLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocGFkZHJfdCln Zm4gPDwgUEFHRV9TSElGVF80SywKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgUEFHRV9PUkRFUl80SywKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIWRtYV9vbGRfcHRlX3ByZXNlbnQsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGZsdXNoX2Rldl9pb3RsYik7Cj4gKwo+ICsgICAgICAgIGlmICggcmMgPiAw ICkKPiAgICAgICAgICB7Cj4gLSAgICAgICAgICAgIGlmICggaW9tbXVfZmx1c2hfaW90bGJfcHNp KGlvbW11LCBpb21tdV9kb21pZCwKPiAtICAgICAgICAgICAgICAgICAgICAgICAgKHBhZGRyX3Qp Z2ZuIDw8IFBBR0VfU0hJRlRfNEssIFBBR0VfT1JERVJfNEssCj4gLSAgICAgICAgICAgICAgICAg ICAgICAgICFkbWFfb2xkX3B0ZV9wcmVzZW50LCBmbHVzaF9kZXZfaW90bGIpICkKPiAtICAgICAg ICAgICAgICAgIGlvbW11X2ZsdXNoX3dyaXRlX2J1ZmZlcihpb21tdSk7Cj4gLSAgICAgICAgfQo+ ICsgICAgICAgICAgICBpb21tdV9mbHVzaF93cml0ZV9idWZmZXIoaW9tbXUpOwo+ICsgICAgICAg ICAgICByYyA9IDA7Cj4gKyAgICAgICAgfSBlbHNlIGlmICggcmMgPCAwICkKPiArICAgICAgICAg ICAgYnJlYWs7Cj4gICAgICB9Cj4gKwo+ICsgICAgcmV0dXJuIHJjOwo+ICB9Cj4gCj4gIHN0YXRp YyB2b2lkIGludGVsX2lvbW11X2lvdGxiX2ZsdXNoKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVk IGxvbmcgZ2ZuLCB1bnNpZ25lZCBpbnQKPiBwYWdlX2NvdW50KQo+ICB7Cj4gLSAgICBfX2ludGVs X2lvbW11X2lvdGxiX2ZsdXNoKGQsIGdmbiwgMSwgcGFnZV9jb3VudCk7Cj4gKyAgICBpb21tdV9m bHVzaF9pb3RsYihkLCBnZm4sIDEsIHBhZ2VfY291bnQpOwo+ICB9Cj4gCj4gIHN0YXRpYyB2b2lk IGludGVsX2lvbW11X2lvdGxiX2ZsdXNoX2FsbChzdHJ1Y3QgZG9tYWluICpkKQo+ICB7Cj4gLSAg ICBfX2ludGVsX2lvbW11X2lvdGxiX2ZsdXNoKGQsIElOVkFMSURfR0ZOLCAwLCAwKTsKPiArICAg IGlvbW11X2ZsdXNoX2lvdGxiKGQsIElOVkFMSURfR0ZOLCAwLCAwKTsKPiAgfQoKRG8geW91IHBs YW4gdG8gY2hhbmdlIHJldHVybiB2YWx1ZSBvZiBhYm92ZSAyIGZ1bmN0aW9ucyBpbiBhbm90aGVy CnBhdGNoLCBvciB3aWxsIGtlZXAgaXQgY3VycmVudCBmb3JtIHcvbyBwcm9wYWdhdGlvbj8KCj4g Cj4gIC8qIGNsZWFyIG9uZSBwYWdlJ3MgcGFnZSB0YWJsZSAqLwo+IEBAIC02NDAsNyArNjQ3LDcg QEAgc3RhdGljIHZvaWQgZG1hX3B0ZV9jbGVhcl9vbmUoc3RydWN0IGRvbWFpbiAqZG9tYWluLCB1 NjQgYWRkcikKPiAgICAgIGlvbW11X2ZsdXNoX2NhY2hlX2VudHJ5KHB0ZSwgc2l6ZW9mKHN0cnVj dCBkbWFfcHRlKSk7Cj4gCj4gICAgICBpZiAoICF0aGlzX2NwdShpb21tdV9kb250X2ZsdXNoX2lv dGxiKSApCj4gLSAgICAgICAgX19pbnRlbF9pb21tdV9pb3RsYl9mbHVzaChkb21haW4sIGFkZHIg Pj4gUEFHRV9TSElGVF80SywgMSwgMSk7Cj4gKyAgICAgICAgaW9tbXVfZmx1c2hfaW90bGIoZG9t YWluLCBhZGRyID4+IFBBR0VfU0hJRlRfNEssIDEsIDEpOwo+IAo+ICAgICAgdW5tYXBfdnRkX2Rv bWFpbl9wYWdlKHBhZ2UpOwo+ICB9Cj4gQEAgLTEyODEsNiArMTI4OCw3IEBAIGludCBkb21haW5f Y29udGV4dF9tYXBwaW5nX29uZSgKPiAgICAgIHU2NCBtYWRkciwgcGdkX21hZGRyOwo+ICAgICAg dTE2IHNlZyA9IGlvbW11LT5pbnRlbC0+ZHJoZC0+c2VnbWVudDsKPiAgICAgIGludCBhZ2F3Owo+ ICsgICAgaW50IHJjOwo+IAo+ICAgICAgQVNTRVJUKHBjaWRldnNfbG9ja2VkKCkpOwo+ICAgICAg c3Bpbl9sb2NrKCZpb21tdS0+bG9jayk7Cj4gQEAgLTEzOTQsMTMgKzE0MDIsMTkgQEAgaW50IGRv bWFpbl9jb250ZXh0X21hcHBpbmdfb25lKAo+ICAgICAgc3Bpbl91bmxvY2soJmlvbW11LT5sb2Nr KTsKPiAKPiAgICAgIC8qIENvbnRleHQgZW50cnkgd2FzIHByZXZpb3VzbHkgbm9uLXByZXNlbnQg KHdpdGggZG9taWQgMCkuICovCj4gLSAgICBpZiAoIGlvbW11X2ZsdXNoX2NvbnRleHRfZGV2aWNl KGlvbW11LCAwLCAoKCh1MTYpYnVzKSA8PCA4KSB8IGRldmZuLAo+IC0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBETUFfQ0NNRF9NQVNLX05PQklULCAxKSApCj4gLSAgICAgICAg aW9tbXVfZmx1c2hfd3JpdGVfYnVmZmVyKGlvbW11KTsKPiAtICAgIGVsc2UKPiArICAgIHJjID0g aW9tbXVfZmx1c2hfY29udGV4dF9kZXZpY2UoaW9tbXUsIDAsICgoKHUxNilidXMpIDw8IDgpIHwg ZGV2Zm4sCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERNQV9DQ01EX01B U0tfTk9CSVQsIDEpOwo+ICsKPiArICAgIGlmICggIXJjICkKPiAgICAgIHsKPiAgICAgICAgICBp bnQgZmx1c2hfZGV2X2lvdGxiID0gZmluZF9hdHNfZGV2X2RyaGQoaW9tbXUpID8gMSA6IDA7Cj4g LSAgICAgICAgaW9tbXVfZmx1c2hfaW90bGJfZHNpKGlvbW11LCAwLCAxLCBmbHVzaF9kZXZfaW90 bGIpOwo+ICsgICAgICAgIHJjID0gaW9tbXVfZmx1c2hfaW90bGJfZHNpKGlvbW11LCAwLCAxLCBm bHVzaF9kZXZfaW90bGIpOwo+ICsgICAgfQo+ICsKPiArICAgIGlmICggcmMgPiAwICkKPiArICAg IHsKPiArICAgICAgICBpb21tdV9mbHVzaF93cml0ZV9idWZmZXIoaW9tbXUpOwo+ICsgICAgICAg IHJjID0gMDsKCndoYXQgYWJvdXQgJ3JjPjAnIGluIGlvbW11X2ZsdXNoX2NvbnRleHRfZGV2aWNl IHdoaWxlICJyYzwwIgppbiBpb21tdV9mbHVzaF9pb3RsYl9kc2ksIHdoaWNoIHdpbGwgbGVhdmUg d3JpdGUgYnVmZmVyIG5vdCBmbHVzaGVkPwoKPiAgICAgIH0KPiAKPiAgICAgIHNldF9iaXQoaW9t bXUtPmluZGV4LCAmaGQtPmFyY2guaW9tbXVfYml0bWFwKTsKPiBAQCAtMTQxMCw3ICsxNDI0LDcg QEAgaW50IGRvbWFpbl9jb250ZXh0X21hcHBpbmdfb25lKAo+ICAgICAgaWYgKCAhc2VnICkKPiAg ICAgICAgICBtZV93aWZpX3F1aXJrKGRvbWFpbiwgYnVzLCBkZXZmbiwgTUFQX01FX1BIQU5UT01f RlVOQyk7Cj4gCj4gLSAgICByZXR1cm4gMDsKPiArICAgIHJldHVybiByYzsKPiAgfQo+IAo+ICBz dGF0aWMgaW50IGRvbWFpbl9jb250ZXh0X21hcHBpbmcoCj4gQEAgLTE1MDUsNiArMTUxOSw3IEBA IGludCBkb21haW5fY29udGV4dF91bm1hcF9vbmUoCj4gICAgICBzdHJ1Y3QgY29udGV4dF9lbnRy eSAqY29udGV4dCwgKmNvbnRleHRfZW50cmllczsKPiAgICAgIHU2NCBtYWRkcjsKPiAgICAgIGlu dCBpb21tdV9kb21pZDsKPiArICAgIGludCByYzsKPiAKPiAgICAgIEFTU0VSVChwY2lkZXZzX2xv Y2tlZCgpKTsKPiAgICAgIHNwaW5fbG9jaygmaW9tbXUtPmxvY2spOwo+IEBAIC0xNTMyLDE0ICsx NTQ3LDIwIEBAIGludCBkb21haW5fY29udGV4dF91bm1hcF9vbmUoCj4gICAgICAgICAgcmV0dXJu IC1FSU5WQUw7Cj4gICAgICB9Cj4gCj4gLSAgICBpZiAoIGlvbW11X2ZsdXNoX2NvbnRleHRfZGV2 aWNlKGlvbW11LCBpb21tdV9kb21pZCwKPiArICAgIHJjID0gaW9tbXVfZmx1c2hfY29udGV4dF9k ZXZpY2UoaW9tbXUsIGlvbW11X2RvbWlkLAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAoKCh1MTYpYnVzKSA8PCA4KSB8IGRldmZuLAo+IC0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBETUFfQ0NNRF9NQVNLX05PQklULCAwKSApCj4gLSAgICAgICAgaW9t bXVfZmx1c2hfd3JpdGVfYnVmZmVyKGlvbW11KTsKPiAtICAgIGVsc2UKPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgRE1BX0NDTURfTUFTS19OT0JJVCwgMCk7Cj4gKwo+ICsg ICAgaWYgKCAhcmMgKQo+ICAgICAgewo+ICAgICAgICAgIGludCBmbHVzaF9kZXZfaW90bGIgPSBm aW5kX2F0c19kZXZfZHJoZChpb21tdSkgPyAxIDogMDsKPiAtICAgICAgICBpb21tdV9mbHVzaF9p b3RsYl9kc2koaW9tbXUsIGlvbW11X2RvbWlkLCAwLCBmbHVzaF9kZXZfaW90bGIpOwo+ICsgICAg ICAgIHJjID0gaW9tbXVfZmx1c2hfaW90bGJfZHNpKGlvbW11LCBpb21tdV9kb21pZCwgMCwgZmx1 c2hfZGV2X2lvdGxiKTsKPiArICAgIH0KPiArCj4gKyAgICBpZiAoIHJjID4gMCApCj4gKyAgICB7 Cj4gKyAgICAgICAgaW9tbXVfZmx1c2hfd3JpdGVfYnVmZmVyKGlvbW11KTsKPiArICAgICAgICBy YyA9IDA7Cj4gICAgICB9CgpkaXR0bwoKClRoYW5rcwpLZXZpbgoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4t ZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK