From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chao Gao Subject: Re: [PATCH V3 28/29] x86/vvtd: Add queued invalidation (QI) support Date: Mon, 23 Oct 2017 15:50:24 +0800 Message-ID: <20171023075024.GB81088@op-computing> References: <1506049330-11196-1-git-send-email-tianyu.lan@intel.com> <1506049330-11196-29-git-send-email-tianyu.lan@intel.com> <20171020112006.77dj3vipjql7anpp@dhcp-3-128.uk.xensource.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20171020112006.77dj3vipjql7anpp@dhcp-3-128.uk.xensource.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Roger Pau =?iso-8859-1?Q?Monn=E9?= Cc: Lan Tianyu , andrew.cooper3@citrix.com, kevin.tian@intel.com, jbeulich@suse.com, xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org T24gRnJpLCBPY3QgMjAsIDIwMTcgYXQgMTI6MjA6MDZQTSArMDEwMCwgUm9nZXIgUGF1IE1vbm7D qSB3cm90ZToKPk9uIFRodSwgU2VwIDIxLCAyMDE3IGF0IDExOjAyOjA5UE0gLTA0MDAsIExhbiBU aWFueXUgd3JvdGU6Cj4+IEZyb206IENoYW8gR2FvIDxjaGFvLmdhb0BpbnRlbC5jb20+Cj4+IAo+ PiBRdWV1ZWQgSW52YWxpZGF0aW9uIEludGVyZmFjZSBpcyBhbiBleHBhbmRlZCBpbnZhbGlkYXRp b24gaW50ZXJmYWNlIHdpdGgKPj4gZXh0ZW5kZWQgY2FwYWJpbGl0aWVzLiBIYXJkd2FyZSBpbXBs ZW1lbnRhdGlvbnMgcmVwb3J0IHN1cHBvcnQgZm9yIHF1ZXVlZAo+PiBpbnZhbGlkYXRpb24gaW50 ZXJmYWNlIHRocm91Z2ggdGhlIEV4dGVuZGVkIENhcGFiaWxpdHkgUmVnaXN0ZXIuIFRoZSBxdWV1 ZWQKPj4gaW52YWxpZGF0aW9uIGludGVyZmFjZSB1c2VzIGFuIEludmFsaWRhdGlvbiBRdWV1ZSAo SVEpLCB3aGljaCBpcyBhIGNpcmN1bGFyCj4+IGJ1ZmZlciBpbiBzeXN0ZW0gbWVtb3J5LiBTb2Z0 d2FyZSBzdWJtaXRzIGNvbW1hbmRzIGJ5IHdyaXRpbmcgSW52YWxpZGF0aW9uCj4+IERlc2NyaXB0 b3JzIHRvIHRoZSBJUS4KPj4gCj4+IEluIHRoaXMgcGF0Y2gsIGEgbmV3IGZ1bmN0aW9uIHZpb21t dV9wcm9jZXNzX2lxKCkgaXMgdXNlZCBmb3IgZW11bGF0aW5nIGhvdwo+PiBoYXJkd2FyZSBoYW5k bGVzIGludmFsaWRhdGlvbiByZXF1ZXN0cyB0aHJvdWdoIFFJLgo+PiAKPj4gU2lnbmVkLW9mZi1i eTogQ2hhbyBHYW8gPGNoYW8uZ2FvQGludGVsLmNvbT4KPj4gU2lnbmVkLW9mZi1ieTogTGFuIFRp YW55dSA8dGlhbnl1LmxhbkBpbnRlbC5jb20+Cj4+IC0tLQo+PiArc3RhdGljIGludCBwcm9jZXNz X2lxZShzdHJ1Y3QgdnZ0ZCAqdnZ0ZCwgaW50IGkpCj4KPnVuc2lnbmVkIGludC4KPgo+PiArewo+ PiArICAgIHVpbnQ2NF90IGlxYTsKPj4gKyAgICBzdHJ1Y3QgcWludmFsX2VudHJ5ICpxaW52YWxf cGFnZTsKPj4gKyAgICBpbnQgcmV0ID0gMDsKPj4gKwo+PiArICAgIGlxYSA9IHZ2dGRfZ2V0X3Jl Z19xdWFkKHZ2dGQsIERNQVJfSVFBX1JFRyk7Cj4+ICsgICAgcWludmFsX3BhZ2UgPSBtYXBfZ3Vl c3RfcGFnZSh2dnRkLT5kb21haW4sIERNQV9JUUFfQUREUihpcWEpPj5QQUdFX1NISUZUKTsKPgo+ UEZOX0RPV04gaW5zdGVhZCBvZiBvcGVuIGNvZGluZyB0aGUgc2hpZnQuIEJvdGggY2FuIGJlIGlu aXRpYWxpemVkCj5hdCBkZWNsYXJhdGlvbi4gQWxzbyBBRkFJQ1QgaXFhIGlzIG9ubHkgdXNlZCBv bmNlLCBzbyB0aGUgbG9jYWwKPnZhcmlhYmxlIGlzIG5vdCBuZWVkZWQuCj4KPj4gKyAgICBpZiAo IElTX0VSUihxaW52YWxfcGFnZSkgKQo+PiArICAgIHsKPj4gKyAgICAgICAgZ2RwcmludGsoWEVO TE9HX0VSUiwgIkNhbid0IG1hcCBndWVzdCBJUlQgKHJjICVsZCkiLAo+PiArICAgICAgICAgICAg ICAgICBQVFJfRVJSKHFpbnZhbF9wYWdlKSk7Cj4+ICsgICAgICAgIHJldHVybiBQVFJfRVJSKHFp bnZhbF9wYWdlKTsKPj4gKyAgICB9Cj4+ICsKPj4gKyAgICBzd2l0Y2ggKCBxaW52YWxfcGFnZVtp XS5xLmludl93YWl0X2RzYy5sby50eXBlICkKPj4gKyAgICB7Cj4+ICsgICAgY2FzZSBUWVBFX0lO VkFMX1dBSVQ6Cj4+ICsgICAgICAgIGlmICggcWludmFsX3BhZ2VbaV0ucS5pbnZfd2FpdF9kc2Mu bG8uc3cgKQo+PiArICAgICAgICB7Cj4+ICsgICAgICAgICAgICB1aW50MzJfdCBkYXRhID0gcWlu dmFsX3BhZ2VbaV0ucS5pbnZfd2FpdF9kc2MubG8uc2RhdGE7Cj4+ICsgICAgICAgICAgICB1aW50 NjRfdCBhZGRyID0gKHFpbnZhbF9wYWdlW2ldLnEuaW52X3dhaXRfZHNjLmhpLnNhZGRyIDw8IDIp Owo+Cj5Vbm5lZWRlZCBwYXJlbnRoZXNlcy4KPgo+PiArCj4+ICsgICAgICAgICAgICByZXQgPSBo dm1fY29weV90b19ndWVzdF9waHlzKGFkZHIsICZkYXRhLCBzaXplb2YoZGF0YSksIGN1cnJlbnQp Owo+PiArICAgICAgICAgICAgaWYgKCByZXQgKQo+PiArICAgICAgICAgICAgICAgIHZ2dGRfaW5m bygiRmFpbGVkIHRvIHdyaXRlIHN0YXR1cyBhZGRyZXNzIik7Cj4KPkRvbid0IHlvdSBuZWVkIHRv IHJldHVybiBvciBkbyBzb21ldGhpbmcgaGVyZT8gKGxpa2UgcmFpc2Ugc29tZSBraW5kCj5vZiBl cnJvcj8pCgpUaGUgJ2FkZHInIGlzIHByb2dyYW1tZWQgYnkgZ3Vlc3QuIEhlcmUgdnZ0ZCBjYW5u b3QgZmluaXNoIHRoaXMgd3JpdGUKZm9yIHNvbWUgcmVhc29uIChpLmUuIHRoZSAnYWRkcicgbWF5 IGJlIG5vdCBpbiB0aGUgZ3Vlc3QgcGh5c2ljYWwgbWVtb3J5IHNwYWNlKS4KQWNjb3JkaW5nIHRv IFZULWQgc3BlYyA2LjUuMi44IEludmFsaWRhdGlvbiBXYWl0IERlc2NyaXB0b3IsICJIYXJkd2Fy ZQpiZWhhdmlvciBpcyB1bmRlZmluZWQgaWYgdGhlIFN0YXR1cyBBZGRyZXNzIHNwZWNpZmllZCBp cyBub3QgYW4gYWRkcmVzcwpyb3V0ZS1hYmxlIHRvIG1lbW9yeSAoc3VjaCBhcyBwZWVyIGFkZHJl c3MsIGludGVycnVwdCBhZGRyZXNzIHJhbmdlIG9mCjB4RkVFWF9YWFhYIGV0Yy4pIEkgdGhpbmsg dGhhdCBYZW4gY2FuIGp1c3QgaWdub3JlIGl0LiBJIHNob3VsZCB1c2UKdnZ0ZF9kZWJ1ZygpIGZv ciBpdCBpcyBndWVzdCB0cmlnZ2VyYWJsZS4KCj4+ICsgICAgICAgICAgICAgICAgaWYgKCAhdnZ0 ZF90ZXN0X2JpdCh2dnRkLCBETUFSX0lFQ1RMX1JFRywgRE1BX0lFQ1RMX0lNX1NISUZUKSApCj4+ ICsgICAgICAgICAgICAgICAgewo+PiArICAgICAgICAgICAgICAgICAgICBpZV9kYXRhID0gdnZ0 ZF9nZXRfcmVnKHZ2dGQsIERNQVJfSUVEQVRBX1JFRyk7Cj4+ICsgICAgICAgICAgICAgICAgICAg IGllX2FkZHIgPSB2dnRkX2dldF9yZWcodnZ0ZCwgRE1BUl9JRUFERFJfUkVHKTsKPj4gKyAgICAg ICAgICAgICAgICAgICAgdnZ0ZF9nZW5lcmF0ZV9pbnRlcnJ1cHQodnZ0ZCwgaWVfYWRkciwgaWVf ZGF0YSk7Cj4KPi4uLnlvdSBkb24ndCBzZWVtIHR3byBuZWVkIHRoZSB0d28gbG9jYWwgdmFyaWFi bGVzLiBUaGV5IGFyZSB1c2VkIG9ubHkKPm9uY2UuCj4KPj4gKyAgICAgICAgICAgICAgICAgICAg dnZ0ZF9jbGVhcl9iaXQodnZ0ZCwgRE1BUl9JRUNUTF9SRUcsIERNQV9JRUNUTF9JUF9TSElGVCk7 Cj4+ICsgICAgICAgICAgICAgICAgfQo+PiArICAgICAgICAgICAgfQo+PiArICAgICAgICB9Cj4+ ICsgICAgICAgIGJyZWFrOwo+PiArCj4+ICsgICAgY2FzZSBUWVBFX0lOVkFMX0lFQzoKPj4gKyAg ICAgICAgLyoKPj4gKyAgICAgICAgICogQ3VycmVudGx5LCBubyBjYWNoZSBpcyBwcmVzZXJ2ZWQg aW4gaHlwZXJ2aXNvci4gT25seSBuZWVkIHRvIHVwZGF0ZQo+PiArICAgICAgICAgKiBwSVJURXMg d2hpY2ggYXJlIG1vZGlmaWVkIGluIGJpbmRpbmcgcHJvY2Vzcy4KPj4gKyAgICAgICAgICovCj4+ ICsgICAgICAgIGJyZWFrOwo+PiArCj4+ICsgICAgZGVmYXVsdDoKPj4gKyAgICAgICAgZ290byBl cnJvcjsKPgo+VGhlcmUncyBubyByZWFzb24gdG8gdXNlIGEgbGFiZWwgdGhhdCdzIG9ubHkgdXNl ZCBmb3IgdGhlIGRlZmF1bHQKPmNhc2UuIFNpbXBseSBwbGFjZSB0aGUgY29kZSBpbiB0aGUgZXJy b3IgbGFiZWwgaGVyZS4KPgo+PiArICAgIH0KPj4gKwo+PiArICAgIHVubWFwX2d1ZXN0X3BhZ2Uo KHZvaWQqKXFpbnZhbF9wYWdlKTsKPj4gKyAgICByZXR1cm4gcmV0Owo+PiArCj4+ICsgZXJyb3I6 Cj4+ICsgICAgdW5tYXBfZ3Vlc3RfcGFnZSgodm9pZCopcWludmFsX3BhZ2UpOwo+PiArICAgIGdk cHJpbnRrKFhFTkxPR19FUlIsICJJbnRlcm5hbCBlcnJvciBpbiBRdWV1ZSBJbnZhbGlkYXRpb24u XG4iKTsKPj4gKyAgICBkb21haW5fY3Jhc2godnZ0ZC0+ZG9tYWluKTsKPgo+RG8geW91IHJlYWxs eSBuZWVkIHRvIGNyYXNoIHRoZSBkb21haW4gaW4gc3VjaCBjYXNlPwoKV2UgcmVhY2ggaGVyZSB3 aGVuIGd1ZXN0IHJlcXVlc3RzIHNvbWUgb3BlcmF0aW9ucyB2dnRkIGRvZXNuJ3QgY2xhaW0Kc3Vw cG9ydGVkIG9yIGVtdWxhdGVkLiBJIGFtIGFmcmFpZCBpdCBhbHNvIGNhbiBiZSB0cmlnZ2VyZWQg YnkgZ3Vlc3QuCkhvdyBhYm91dCBpZ25vcmluZyB0aGUgaW52YWxpZGF0aW9uIHJlcXVlc3Q/CgpJ IHdpbGwgY2hhbmdlIHRoZSBlcnJvciBtZXNzYWdlIGZvciBpdCBpc24ndCBpbnRlcm5hbCBlcnJv ci4KClRoYW5rcwpDaGFvCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0 dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK