From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Xu, Quan" Subject: Re: [PATCH v4 01/10] vt-d: fix the IOMMU flush issue Date: Thu, 12 May 2016 07:50:00 +0000 Message-ID: <945CA011AD5F084CBEA3E851C0AB28894B8AD4D2@SHSMSX101.ccr.corp.intel.com> References: <1462524880-67205-1-git-send-email-quan.xu@intel.com> <1462524880-67205-2-git-send-email-quan.xu@intel.com> <5730D27302000078000E9AB9@prv-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <5730D27302000078000E9AB9@prv-mh.provo.novell.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: Jan Beulich Cc: "Tian, Kevin" , Keir Fraser , Andrew Cooper , "dario.faggioli@citrix.com" , "xen-devel@lists.xen.org" , "Wu, Feng" List-Id: xen-devel@lists.xenproject.org T24gTWF5IDEwLCAyMDE2IDEyOjEwIEFNLCBKYW4gQmV1bGljaCA8SkJldWxpY2hAc3VzZS5jb20+ IHdyb3RlOg0KPiA+Pj4gT24gMDYuMDUuMTYgYXQgMTA6NTQsIDxxdWFuLnh1QGludGVsLmNvbT4g d3JvdGU6DQo+ID4gLXN0YXRpYyB2b2lkIGludGVsX2lvbW11X2lvdGxiX2ZsdXNoKHN0cnVjdCBk b21haW4gKmQsIHVuc2lnbmVkIGxvbmcNCj4gPiBnZm4sIHVuc2lnbmVkIGludCBwYWdlX2NvdW50 KQ0KPiA+ICtzdGF0aWMgdm9pZCBpb21tdV9mbHVzaF9pb3RsYl9wYWdlKHN0cnVjdCBkb21haW4g KmQsIHVuc2lnbmVkIGxvbmcgZ2ZuLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHVuc2lnbmVkIGludCBwYWdlX2NvdW50KQ0KPiANCj4gVGhlIG5ldyBuYW1lIHN1Z2dl c3RzIGp1c3Qgb25lIHBhZ2UuIFBsZWFzZSB1c2UgZS5nLg0KPiBpb21tdV9mbHVzaF9pb3RsYl9w YWdlcygpIGluc3RlYWQuDQo+IA0KDQpNYWtlIHNlbnNlLiANCg0KPiA+ICB7DQo+ID4gLSAgICBf X2ludGVsX2lvbW11X2lvdGxiX2ZsdXNoKGQsIGdmbiwgMSwgcGFnZV9jb3VudCk7DQo+ID4gKyAg ICBpb21tdV9mbHVzaF9pb3RsYihkLCBnZm4sIDEsIHBhZ2VfY291bnQpOw0KPiA+ICB9DQo+IA0K PiBCdXQgb2YgY291cnNlIHRoZSBxdWVzdGlvbiBpcyB3aGV0aGVyIGhhdmluZyB0aGlzIHdyYXBw ZXIgaXMgdXNlZnVsIGluIHRoZSBmaXJzdA0KPiBwbGFjZSwNCg0KDQpUaGlzIHdyYXBwZXIgYXNz dW1lcyB0aGUgJ2RtYV9vbGRfcHRlX3ByZXNlbnQnIGlzICcxJywgYnV0IGluIGFub3RoZXIgY2Fs bGVyIGludGVsX2lvbW11X21hcF9wYWdlKCksIGkuZS4gDQoNCg0KICAgICBpbnRlbF9pb21tdV9t YXBfcGFnZSgpDQogICAgew0KICAgICAgIC4uLg0KICAgICAgICAgICAgIGlmICggIXRoaXNfY3B1 KGlvbW11X2RvbnRfZmx1c2hfaW90bGIpICkNCiAgICAgICAgICAgICAgICAgIGlvbW11X2ZsdXNo X2lvdGxiKGQsIGdmbiwgZG1hX3B0ZV9wcmVzZW50KG9sZCksIDEpOw0KICAgICAgIC4uLg0KICAg IH0NCg0KDQp0aGUgJ2RtYV9vbGRfcHRlX3ByZXNlbnQnIGlzIG5vdCBzdXJlLiANCg0KaW4gaW50 ZWxfaW9tbXVfbWFwX3BhZ2UoKSwgIGlmIHdlIGNhbiBjaGVjayB0aGUgJ2RtYV9wdGVfcHJlc2Vu dChvbGQpJzoNCiAgICAgICAgICAtLSAxLCBmbHVzaCB0aGUgcGFnZXMuDQogICAgICAgICAgLS0g MCwgZG9uJ3QgZmx1c2ggdGhlIHBhZ2VzLg0KDQpUaGVuIHdlIGNhbiByZW1vdmUgdGhpcyB3cmFw cGVyLg0KDQpJZiBteSBkZXNjcmlwdGlvbiBpcyBub3QgY2xlYXIsIEkgY2FuIHNlbmQgb3V0IHRo ZSByZWxhdGVkIGNoYW5nZS4NCg0KPiB0aGUgbW9yZSB0aGF0IC4uLg0KPiANCj4gPiBAQCAtNjM5 LDcgKzY0Niw3IEBAIHN0YXRpYyB2b2lkIGRtYV9wdGVfY2xlYXJfb25lKHN0cnVjdCBkb21haW4N Cj4gKmRvbWFpbiwgdTY0IGFkZHIpDQo+ID4gICAgICBpb21tdV9mbHVzaF9jYWNoZV9lbnRyeShw dGUsIHNpemVvZihzdHJ1Y3QgZG1hX3B0ZSkpOw0KPiA+DQo+ID4gICAgICBpZiAoICF0aGlzX2Nw dShpb21tdV9kb250X2ZsdXNoX2lvdGxiKSApDQo+ID4gLSAgICAgICAgX19pbnRlbF9pb21tdV9p b3RsYl9mbHVzaChkb21haW4sIGFkZHIgPj4gUEFHRV9TSElGVF80SywgMSwgMSk7DQo+ID4gKyAg ICAgICAgaW9tbXVfZmx1c2hfaW90bGIoZG9tYWluLCBhZGRyID4+IFBBR0VfU0hJRlRfNEssIDEs IDEpOw0KPiANCj4gLi4uIGl0J3MgYmVpbmcgb3BlbiBjb2RlZCBoZXJlLiBJT1cgaWYgeW91IHdh bnQgdG8gcmV0YWluIHRoZSB3cmFwcGVyLCBwbGVhc2UNCj4gdXNlIGl0IGhlcmUuDQo+DQoNCldh aXRpbmcgZm9yIHRoZSBhYm92ZSBkaXNjdXNzaW9uLCBpZiB3ZSBzdGlsbCBuZWVkIHRoZSB3cmFw cGVyLCBJIHdpbGwgdXNlIGl0IGhlcmUuDQoNCg0KIA0KPiA+IEBAIC0xMzkxLDEzICsxMzk5LDE5 IEBAIGludCBkb21haW5fY29udGV4dF9tYXBwaW5nX29uZSgNCj4gPiAgICAgIHNwaW5fdW5sb2Nr KCZpb21tdS0+bG9jayk7DQo+ID4NCj4gPiAgICAgIC8qIENvbnRleHQgZW50cnkgd2FzIHByZXZp b3VzbHkgbm9uLXByZXNlbnQgKHdpdGggZG9taWQgMCkuICovDQo+ID4gLSAgICBpZiAoIGlvbW11 X2ZsdXNoX2NvbnRleHRfZGV2aWNlKGlvbW11LCAwLCAoKCh1MTYpYnVzKSA8PCA4KSB8IGRldmZu LA0KPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBETUFfQ0NNRF9NQVNL X05PQklULCAxKSApDQo+ID4gLSAgICAgICAgaW9tbXVfZmx1c2hfd3JpdGVfYnVmZmVyKGlvbW11 KTsNCj4gPiAtICAgIGVsc2UNCj4gPiArICAgIHJjID0gaW9tbXVfZmx1c2hfY29udGV4dF9kZXZp Y2UoaW9tbXUsIDAsICgoKHUxNilidXMpIDw8IDgpIHwgZGV2Zm4sDQo+ID4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIERNQV9DQ01EX01BU0tfTk9CSVQsIDEpOw0KPiA+ICsN Cj4gPiArICAgIGlmICggIXJjICkNCj4gPiAgICAgIHsNCj4gPiAgICAgICAgICBpbnQgZmx1c2hf ZGV2X2lvdGxiID0gZmluZF9hdHNfZGV2X2RyaGQoaW9tbXUpID8gMSA6IDA7DQo+ID4gLSAgICAg ICAgaW9tbXVfZmx1c2hfaW90bGJfZHNpKGlvbW11LCAwLCAxLCBmbHVzaF9kZXZfaW90bGIpOw0K PiA+ICsgICAgICAgIHJjID0gaW9tbXVfZmx1c2hfaW90bGJfZHNpKGlvbW11LCAwLCAxLCBmbHVz aF9kZXZfaW90bGIpOw0KPiANCj4gUGxlYXNlIHRha2UgdGhlIG9wcG9ydHVuaXR5IGFuZCBhZGQg dGhlIG1pc3NpbmcgYmxhbmsgbGluZSAoYmV0d2Vlbg0KPiBkZWNsYXJhdGlvbihzKSBhbmQgc3Rh dGVtZW50KHMpIGluIGNhc2VzIGxpa2UgdGhpcy4NCj4gDQo+ID4gKyAgICB9DQo+ID4gKw0KPiA+ ICsgICAgaWYgKCByYyA+IDAgKQ0KPiANCj4gQ2FuIGlvbW11X2ZsdXNoX2NvbnRleHRfZGV2aWNl KCkgcmV0dXJuIGEgcG9zaXRpdmUgdmFsdWU/IElmIHNvLCB0aGUgbG9naWMgaXMNCj4gbm93IGxp a2VseSB3cm9uZy4gSWYgbm90ICh3aGljaCBpcyB3aGF0IEkgYXNzdW1lKSBJJ2QgbGlrZSB0byBz dWdnZXN0IGFkZGluZyBhDQo+IHJlc3BlY3RpdmUgQVNTRVJUKCkgKGV2ZW4gaWYgb25seSB0byBk b2N1bWVudCB0aGUgZmFjdCkuIE9yIGFsdGVybmF0aXZlbHkgdGhpcw0KPiBpZigpIGNvdWxkIG1v dmUgaW50byB0aGUgaW1tZWRpYXRlbHkgcHJlY2VkaW5nIG9uZS4NCj4gDQoNCg0KQ2hlY2sgaXQg YWdhaW4uIGlvbW11X2ZsdXNoX2NvbnRleHRfZGV2aWNlKCkgY2FuIHJldHVybiBhIHBvc2l0aXZl IHZhbHVlLg0KDQpJZiBWVC1kIFFJIGlzIGVuYWJsZWQsIHRoZSBjYWxsIHRyZWUgdXAgdG8gaW9t bXVfZmx1c2hfY29udGV4dF9kZXZpY2UoKToNCiAgICAgICAgICAgICAgICAgICAgICAgICAtLSBm bHVzaF9jb250ZXh0X3FpKCkgIC0tIGlvbW11X2ZsdXNoX2NvbnRleHRfZGV2aWNlKCkgDQoNCg0K aS5lLiANCg0KSW4gZmx1c2hfY29udGV4dF9xaSgpDQp7DQouLi4NCiAgICBpZiAoIGZsdXNoX25v bl9wcmVzZW50X2VudHJ5ICkNCiAgICB7DQogICAgICAgIGlmICggIWNhcF9jYWNoaW5nX21vZGUo aW9tbXUtPmNhcCkgKQ0KICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgIGVsc2UNCiAgICAg ICAgICAgIGRpZCA9IDA7DQogICAgfQ0KLi4uDQp9DQoNCg0KYW5kIHRoZSAnIGZsdXNoX25vbl9w cmVzZW50X2VudHJ5ICcgIGlzIHJlYWxseSAnMScgZm9yIGFib3ZlIGNvZGUuDQoNCg0KDQpDb3Vs ZCB5b3UgdGVsbCBtZSB3aHkgdGhlIGxvZ2ljIGlzIG5vdyBsaWtlbHkgd3Jvbmc/IEkgd2lsbCBm aXggaXQgZmlyc3QuDQoNClF1YW4NCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5v cmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==