From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Raslan, KarimAllah" Subject: Re: [PATCH v5 07/13] KVM/nVMX: Use kvm_vcpu_map when mapping the virtual APIC page Date: Fri, 25 Jan 2019 18:14:33 +0000 Message-ID: <1548440073.17444.21.camel@amazon.de> References: <1547026933-31226-1-git-send-email-karahmed@amazon.de> <1547026933-31226-8-git-send-email-karahmed@amazon.de> <20190123175711.GL19289@Konrads-MacBook-Pro.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: "linux-kernel@vger.kernel.org" , "kvm@vger.kernel.org" , "rkrcmar@redhat.com" , "pbonzini@redhat.com" To: "konrad.wilk@oracle.com" Return-path: In-Reply-To: <20190123175711.GL19289@Konrads-MacBook-Pro.local> Content-Language: en-US Content-ID: <6D12A0A12EE3B34F93A40689F4699B22@amazon.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: kvm.vger.kernel.org T24gV2VkLCAyMDE5LTAxLTIzIGF0IDEyOjU3IC0wNTAwLCBLb25yYWQgUnplc3p1dGVrIFdpbGsg d3JvdGU6DQo+IE9uIFdlZCwgSmFuIDA5LCAyMDE5IGF0IDEwOjQyOjA3QU0gKzAxMDAsIEthcmlt QWxsYWggQWhtZWQgd3JvdGU6DQo+ID4gDQo+ID4gVXNlIGt2bV92Y3B1X21hcCB3aGVuIG1hcHBp bmcgdGhlIHZpcnR1YWwgQVBJQyBwYWdlIHNpbmNlIHVzaW5nDQo+ID4ga3ZtX3ZjcHVfZ3BhX3Rv X3BhZ2UoKSBhbmQga21hcCgpIHdpbGwgb25seSB3b3JrIGZvciBndWVzdCBtZW1vcnkgdGhhdCBo YXMNCj4gPiBhICJzdHJ1Y3QgcGFnZSIuDQo+ID4gDQo+ID4gT25lIGFkZGl0aW9uYWwgc2VtYW50 aWMgY2hhbmdlIGlzIHRoYXQgdGhlIHZpcnR1YWwgaG9zdCBtYXBwaW5nIGxpZmVjeWNsZQ0KPiA+ IGhhcyBjaGFuZ2VkIGEgYml0LiBJdCBub3cgaGFzIHRoZSBzYW1lIGxpZmV0aW1lIG9mIHRoZSBw aW5uaW5nIG9mIHRoZQ0KPiA+IHZpcnR1YWwgQVBJQyBwYWdlIG9uIHRoZSBob3N0IHNpZGUuDQo+ IA0KPiBDb3VsZCB5b3UgZXhwYW5kIGEgYml0IG9uIHRoZSAnc2FtZSBsaWZldGltZSAuLiBvbiB0 aGUgaG9zdCBzaWRlJyAgdG8gYmUNCj4gb2J2aW91cyBmb3IgZm9sa3Mgd2hhdCBleGFjdGx5IHRo ZSBzZW1hbnRpYyBpcz8NCj4gDQo+IEFuZCBob3cgZG9lcyB0aGlzIHJpbmcgd2l0aCB0aGlzIGNv bW1lbnQ6DQo+ID4gDQo+ID4gDQo+ID4gU2lnbmVkLW9mZi1ieTogS2FyaW1BbGxhaCBBaG1lZCA8 a2FyYWhtZWRAYW1hem9uLmRlPg0KPiA+IC0tLQ0KPiA+IHY0IC0+IHY1Og0KPiA+IC0gdW5tYXAg d2l0aCBkaXJ0eSBmbGFnDQo+ID4gDQo+ID4gdjEgLT4gdjI6DQo+ID4gLSBEbyBub3QgY2hhbmdl IHRoZSBsaWZlY3ljbGUgb2YgdGhlIG1hcHBpbmcgKHBib256aW5pKQ0KPiANCj4gLi4gV2hlcmUg UGFvbG8gZG9lcyBub3Qgd2FudCB0aGUgc2VtYW50aWNzIG9mIHRoZSBtYXBwaW5nIHRvIGJlIGNo YW5nZWQ/DQo+IA0KPiBDb2RlIHdpc2UgZmVlbCBmcmVlIHRvIHNtYWNrIG15IFJldmlld2VkLWJ5 IG9uIGl0LCBidXQgb2J2aW91c2x5IHRoZQ0KPiBxdWVzdGlvbiBvbiB0aGUgYWJvdmUgY29tbWVu dCBuZWVkcyB0byBiZSByZXNvbHZlZC4NCg0KQWgsIHJpZ2h0LiBTbyB0aGVyZSB3YXMgdHdvIGxp ZmUtY3ljbGUgY2hhbmdlczoNCg0KMS0gTGF6aWx5IHVubWFwIHRoZSBtYXBwaW5nIGFuZCBvbmx5 IGRvIGl0IG9uOiBhKSByZWxlYXNlIGIpIGlmIHRoZSBnZm4gaXPCoA0KwqAgwqBkaWZmZXJlbnQu IFRoaXMgd2FzIGRvbmUgYXMgYW4gb3B0aW1pemF0aW9uIChpLmUuIGNhY2hlIG9mIGEgc2luZ2xl IGVudHJ5KS7CoA0KwqAgwqBUaGlzIGlzIHRoZSBmaXJzdCBsaWZlLWN5Y2xlIGNoYW5nZSB0aGF0 IFBhb2xvIGFza2VkIG1lIHRvIGRvIHNlcGVyYXRlbHkgYW5kDQrCoCDCoHN1Z2dlc3RlZCB0byBj cmVhdGUgYSBQRk4gY2FjaGUgaW5zdGVhZC4gVGhpcyBoYXMgaW5kZWVkIGJlZW4gZHJvcHBlZA0K wqAgwqBiZXR3ZWVuIHYxIC0+IHYyIHN3aXRjaC4NCg0KMi0gVGhlIGxpZmUtY3ljbGUgY2hhbmdl IG5vdyBpcyB0aGUgZmFjdCB0aGF0IHRoZSBrdm1fdmNwdV9tYXAgaW50ZXJmYWNlIGRvZXM6wqAN CsKgIMKgYSkgbWFwIHRvIGEgdmlydHVhbCBhZGRyZXNzIGIpIHRyYW5zbGF0ZSBhIGdmbiB0byBh IHBmbi4NCg0KwqAgwqBUaGUgb3JpZ2luYWwgY29kZSB3YXMgZG9pbmcgdGhlIGttYXAgaW4gb25l IGxvY2F0aW9uIGFuZCB0aGUgZ2ZuX3RvX3BhZ2UgaW4NCsKgIMKgYW5vdGhlci4gVXNpbmcga3Zt X3ZjcHVfbWFwIG1lYW5zIHRoYXQgYm90aCBrbWFwK2dmbl90b19wYWdlIHdpbGwgYmUgdGllZMKg DQrCoCDCoHRvZ2V0aGVyIGFuZCB3aWxsIG5vdCBiZSBkb25lIHNlcGVyYXRlbHkuIFNvIGZhciBu byBvbmUgY29tcGxhaW5lZCBhYm91dA0KwqAgwqB0aGlzIG9uZSBzbyBJIGtlcHQgaXQgOkQNCg0K PiANCj4gVGhhbmsgeW91Lg0KPiANCj4gPiANCj4gPiAtIFVzZSBwZm5fdG9faHBhIGluc3RlYWQg b2YgZ2ZuX3RvX2dwYQ0KPiA+IC0tLQ0KPiA+ICBhcmNoL3g4Ni9rdm0vdm14L25lc3RlZC5jIHwg MzIgKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gPiAgYXJjaC94ODYva3ZtL3Zt eC92bXguYyAgICB8ICA1ICsrLS0tDQo+ID4gIGFyY2gveDg2L2t2bS92bXgvdm14LmggICAgfCAg MiArLQ0KPiA+ICAzIGZpbGVzIGNoYW5nZWQsIDE0IGluc2VydGlvbnMoKyksIDI1IGRlbGV0aW9u cygtKQ0KPiA+IA0KPiA+IGRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rdm0vdm14L25lc3RlZC5jIGIv YXJjaC94ODYva3ZtL3ZteC9uZXN0ZWQuYw0KPiA+IGluZGV4IDQxMjdhZDkuLmRjZmY5OWQgMTAw NjQ0DQo+ID4gLS0tIGEvYXJjaC94ODYva3ZtL3ZteC9uZXN0ZWQuYw0KPiA+ICsrKyBiL2FyY2gv eDg2L2t2bS92bXgvbmVzdGVkLmMNCj4gPiBAQCAtMjI5LDEwICsyMjksNyBAQCBzdGF0aWMgdm9p ZCBmcmVlX25lc3RlZChzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUpDQo+ID4gIAkJa3ZtX3JlbGVhc2Vf cGFnZV9kaXJ0eSh2bXgtPm5lc3RlZC5hcGljX2FjY2Vzc19wYWdlKTsNCj4gPiAgCQl2bXgtPm5l c3RlZC5hcGljX2FjY2Vzc19wYWdlID0gTlVMTDsNCj4gPiAgCX0NCj4gPiAtCWlmICh2bXgtPm5l c3RlZC52aXJ0dWFsX2FwaWNfcGFnZSkgew0KPiA+IC0JCWt2bV9yZWxlYXNlX3BhZ2VfZGlydHko dm14LT5uZXN0ZWQudmlydHVhbF9hcGljX3BhZ2UpOw0KPiA+IC0JCXZteC0+bmVzdGVkLnZpcnR1 YWxfYXBpY19wYWdlID0gTlVMTDsNCj4gPiAtCX0NCj4gPiArCWt2bV92Y3B1X3VubWFwKCZ2bXgt Pm5lc3RlZC52aXJ0dWFsX2FwaWNfbWFwLCB0cnVlKTsNCj4gPiAgCWlmICh2bXgtPm5lc3RlZC5w aV9kZXNjX3BhZ2UpIHsNCj4gPiAgCQlrdW5tYXAodm14LT5uZXN0ZWQucGlfZGVzY19wYWdlKTsN Cj4gPiAgCQlrdm1fcmVsZWFzZV9wYWdlX2RpcnR5KHZteC0+bmVzdGVkLnBpX2Rlc2NfcGFnZSk7 DQo+ID4gQEAgLTI4MTcsNiArMjgxNCw3IEBAIHN0YXRpYyB2b2lkIG5lc3RlZF9nZXRfdm1jczEy X3BhZ2VzKHN0cnVjdCBrdm1fdmNwdSAqdmNwdSkNCj4gPiAgew0KPiA+ICAJc3RydWN0IHZtY3Mx MiAqdm1jczEyID0gZ2V0X3ZtY3MxMih2Y3B1KTsNCj4gPiAgCXN0cnVjdCB2Y3B1X3ZteCAqdm14 ID0gdG9fdm14KHZjcHUpOw0KPiA+ICsJc3RydWN0IGt2bV9ob3N0X21hcCAqbWFwOw0KPiA+ICAJ c3RydWN0IHBhZ2UgKnBhZ2U7DQo+ID4gIAl1NjQgaHBhOw0KPiA+ICANCj4gPiBAQCAtMjg0OSwx MSArMjg0Nyw3IEBAIHN0YXRpYyB2b2lkIG5lc3RlZF9nZXRfdm1jczEyX3BhZ2VzKHN0cnVjdCBr dm1fdmNwdSAqdmNwdSkNCj4gPiAgCX0NCj4gPiAgDQo+ID4gIAlpZiAobmVzdGVkX2NwdV9oYXMo dm1jczEyLCBDUFVfQkFTRURfVFBSX1NIQURPVykpIHsNCj4gPiAtCQlpZiAodm14LT5uZXN0ZWQu dmlydHVhbF9hcGljX3BhZ2UpIHsgLyogc2hvdWxkbid0IGhhcHBlbiAqLw0KPiA+IC0JCQlrdm1f cmVsZWFzZV9wYWdlX2RpcnR5KHZteC0+bmVzdGVkLnZpcnR1YWxfYXBpY19wYWdlKTsNCj4gPiAt CQkJdm14LT5uZXN0ZWQudmlydHVhbF9hcGljX3BhZ2UgPSBOVUxMOw0KPiA+IC0JCX0NCj4gPiAt CQlwYWdlID0ga3ZtX3ZjcHVfZ3BhX3RvX3BhZ2UodmNwdSwgdm1jczEyLT52aXJ0dWFsX2FwaWNf cGFnZV9hZGRyKTsNCj4gPiArCQltYXAgPSAmdm14LT5uZXN0ZWQudmlydHVhbF9hcGljX21hcDsN Cj4gPiAgDQo+ID4gIAkJLyoNCj4gPiAgCQkgKiBJZiB0cmFuc2xhdGlvbiBmYWlsZWQsIFZNIGVu dHJ5IHdpbGwgZmFpbCBiZWNhdXNlDQo+ID4gQEAgLTI4NjgsMTEgKzI4NjIsOSBAQCBzdGF0aWMg dm9pZCBuZXN0ZWRfZ2V0X3ZtY3MxMl9wYWdlcyhzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUpDQo+ID4g IAkJICogY29udHJvbC4gIEJ1dCBzdWNoIGEgY29uZmlndXJhdGlvbiBpcyB1c2VsZXNzLCBzbw0K PiA+ICAJCSAqIGxldCdzIGtlZXAgdGhlIGNvZGUgc2ltcGxlLg0KPiA+ICAJCSAqLw0KPiA+IC0J CWlmICghaXNfZXJyb3JfcGFnZShwYWdlKSkgew0KPiA+IC0JCQl2bXgtPm5lc3RlZC52aXJ0dWFs X2FwaWNfcGFnZSA9IHBhZ2U7DQo+ID4gLQkJCWhwYSA9IHBhZ2VfdG9fcGh5cyh2bXgtPm5lc3Rl ZC52aXJ0dWFsX2FwaWNfcGFnZSk7DQo+ID4gLQkJCXZtY3Nfd3JpdGU2NChWSVJUVUFMX0FQSUNf UEFHRV9BRERSLCBocGEpOw0KPiA+IC0JCX0NCj4gPiArCQlpZiAoIWt2bV92Y3B1X21hcCh2Y3B1 LCBncGFfdG9fZ2ZuKHZtY3MxMi0+dmlydHVhbF9hcGljX3BhZ2VfYWRkciksIG1hcCkpDQo+ID4g KwkJCXZtY3Nfd3JpdGU2NChWSVJUVUFMX0FQSUNfUEFHRV9BRERSLCBwZm5fdG9faHBhKG1hcC0+ cGZuKSk7DQo+ID4gKw0KPiA+ICAJfQ0KPiA+ICANCj4gPiAgCWlmIChuZXN0ZWRfY3B1X2hhc19w b3N0ZWRfaW50cih2bWNzMTIpKSB7DQo+ID4gQEAgLTMyNzksMTEgKzMyNzEsMTIgQEAgc3RhdGlj IHZvaWQgdm14X2NvbXBsZXRlX25lc3RlZF9wb3N0ZWRfaW50ZXJydXB0KHN0cnVjdCBrdm1fdmNw dSAqdmNwdSkNCj4gPiAgDQo+ID4gIAltYXhfaXJyID0gZmluZF9sYXN0X2JpdCgodW5zaWduZWQg bG9uZyAqKXZteC0+bmVzdGVkLnBpX2Rlc2MtPnBpciwgMjU2KTsNCj4gPiAgCWlmIChtYXhfaXJy ICE9IDI1Nikgew0KPiA+IC0JCXZhcGljX3BhZ2UgPSBrbWFwKHZteC0+bmVzdGVkLnZpcnR1YWxf YXBpY19wYWdlKTsNCj4gPiArCQl2YXBpY19wYWdlID0gdm14LT5uZXN0ZWQudmlydHVhbF9hcGlj X21hcC5odmE7DQo+ID4gKwkJaWYgKCF2YXBpY19wYWdlKQ0KPiA+ICsJCQlyZXR1cm47DQo+ID4g Kw0KPiA+ICAJCV9fa3ZtX2FwaWNfdXBkYXRlX2lycih2bXgtPm5lc3RlZC5waV9kZXNjLT5waXIs DQo+ID4gIAkJCXZhcGljX3BhZ2UsICZtYXhfaXJyKTsNCj4gPiAtCQlrdW5tYXAodm14LT5uZXN0 ZWQudmlydHVhbF9hcGljX3BhZ2UpOw0KPiA+IC0NCj4gPiAgCQlzdGF0dXMgPSB2bWNzX3JlYWQx NihHVUVTVF9JTlRSX1NUQVRVUyk7DQo+ID4gIAkJaWYgKCh1OCltYXhfaXJyID4gKCh1OClzdGF0 dXMgJiAweGZmKSkgew0KPiA+ICAJCQlzdGF0dXMgJj0gfjB4ZmY7DQo+ID4gQEAgLTM5MTcsMTAg KzM5MTAsNyBAQCB2b2lkIG5lc3RlZF92bXhfdm1leGl0KHN0cnVjdCBrdm1fdmNwdSAqdmNwdSwg dTMyIGV4aXRfcmVhc29uLA0KPiA+ICAJCWt2bV9yZWxlYXNlX3BhZ2VfZGlydHkodm14LT5uZXN0 ZWQuYXBpY19hY2Nlc3NfcGFnZSk7DQo+ID4gIAkJdm14LT5uZXN0ZWQuYXBpY19hY2Nlc3NfcGFn ZSA9IE5VTEw7DQo+ID4gIAl9DQo+ID4gLQlpZiAodm14LT5uZXN0ZWQudmlydHVhbF9hcGljX3Bh Z2UpIHsNCj4gPiAtCQlrdm1fcmVsZWFzZV9wYWdlX2RpcnR5KHZteC0+bmVzdGVkLnZpcnR1YWxf YXBpY19wYWdlKTsNCj4gPiAtCQl2bXgtPm5lc3RlZC52aXJ0dWFsX2FwaWNfcGFnZSA9IE5VTEw7 DQo+ID4gLQl9DQo+ID4gKwlrdm1fdmNwdV91bm1hcCgmdm14LT5uZXN0ZWQudmlydHVhbF9hcGlj X21hcCwgdHJ1ZSk7DQo+ID4gIAlpZiAodm14LT5uZXN0ZWQucGlfZGVzY19wYWdlKSB7DQo+ID4g IAkJa3VubWFwKHZteC0+bmVzdGVkLnBpX2Rlc2NfcGFnZSk7DQo+ID4gIAkJa3ZtX3JlbGVhc2Vf cGFnZV9kaXJ0eSh2bXgtPm5lc3RlZC5waV9kZXNjX3BhZ2UpOw0KPiA+IGRpZmYgLS1naXQgYS9h cmNoL3g4Ni9rdm0vdm14L3ZteC5jIGIvYXJjaC94ODYva3ZtL3ZteC92bXguYw0KPiA+IGluZGV4 IDcxZDg4ZGYuLmUxMzMwOGUgMTAwNjQ0DQo+ID4gLS0tIGEvYXJjaC94ODYva3ZtL3ZteC92bXgu Yw0KPiA+ICsrKyBiL2FyY2gveDg2L2t2bS92bXgvdm14LmMNCj4gPiBAQCAtMzYyNywxNCArMzYy NywxMyBAQCBzdGF0aWMgYm9vbCB2bXhfZ3Vlc3RfYXBpY19oYXNfaW50ZXJydXB0KHN0cnVjdCBr dm1fdmNwdSAqdmNwdSkNCj4gPiAgDQo+ID4gIAlpZiAoV0FSTl9PTl9PTkNFKCFpc19ndWVzdF9t b2RlKHZjcHUpKSB8fA0KPiA+ICAJCSFuZXN0ZWRfY3B1X2hhc192aWQoZ2V0X3ZtY3MxMih2Y3B1 KSkgfHwNCj4gPiAtCQlXQVJOX09OX09OQ0UoIXZteC0+bmVzdGVkLnZpcnR1YWxfYXBpY19wYWdl KSkNCj4gPiArCQlXQVJOX09OX09OQ0UoIXZteC0+bmVzdGVkLnZpcnR1YWxfYXBpY19tYXAuZ2Zu KSkNCj4gPiAgCQlyZXR1cm4gZmFsc2U7DQo+ID4gIA0KPiA+ICAJcnZpID0gdm14X2dldF9ydmko KTsNCj4gPiAgDQo+ID4gLQl2YXBpY19wYWdlID0ga21hcCh2bXgtPm5lc3RlZC52aXJ0dWFsX2Fw aWNfcGFnZSk7DQo+ID4gKwl2YXBpY19wYWdlID0gdm14LT5uZXN0ZWQudmlydHVhbF9hcGljX21h cC5odmE7DQo+ID4gIAl2cHByID0gKigodTMyICopKHZhcGljX3BhZ2UgKyBBUElDX1BST0NQUkkp KTsNCj4gPiAtCWt1bm1hcCh2bXgtPm5lc3RlZC52aXJ0dWFsX2FwaWNfcGFnZSk7DQo+ID4gIA0K PiA+ICAJcmV0dXJuICgocnZpICYgMHhmMCkgPiAodnBwciAmIDB4ZjApKTsNCj4gPiAgfQ0KPiA+ IGRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rdm0vdm14L3ZteC5oIGIvYXJjaC94ODYva3ZtL3ZteC92 bXguaA0KPiA+IGluZGV4IDZmYjY5ZDguLmY2MThmNTIgMTAwNjQ0DQo+ID4gLS0tIGEvYXJjaC94 ODYva3ZtL3ZteC92bXguaA0KPiA+ICsrKyBiL2FyY2gveDg2L2t2bS92bXgvdm14LmgNCj4gPiBA QCAtMTQyLDcgKzE0Miw3IEBAIHN0cnVjdCBuZXN0ZWRfdm14IHsNCj4gPiAgCSAqIHBvaW50ZXJz LCBzbyB3ZSBtdXN0IGtlZXAgdGhlbSBwaW5uZWQgd2hpbGUgTDIgcnVucy4NCj4gPiAgCSAqLw0K PiA+ICAJc3RydWN0IHBhZ2UgKmFwaWNfYWNjZXNzX3BhZ2U7DQo+ID4gLQlzdHJ1Y3QgcGFnZSAq dmlydHVhbF9hcGljX3BhZ2U7DQo+ID4gKwlzdHJ1Y3Qga3ZtX2hvc3RfbWFwIHZpcnR1YWxfYXBp Y19tYXA7DQo+ID4gIAlzdHJ1Y3QgcGFnZSAqcGlfZGVzY19wYWdlOw0KPiA+ICANCj4gPiAgCXN0 cnVjdCBrdm1faG9zdF9tYXAgbXNyX2JpdG1hcF9tYXA7DQo+ID4gLS0gDQo+ID4gMi43LjQNCj4g PiANCgoKCkFtYXpvbiBEZXZlbG9wbWVudCBDZW50ZXIgR2VybWFueSBHbWJICktyYXVzZW5zdHIu IDM4CjEwMTE3IEJlcmxpbgpHZXNjaGFlZnRzZnVlaHJlcjogQ2hyaXN0aWFuIFNjaGxhZWdlciwg UmFsZiBIZXJicmljaApVc3QtSUQ6IERFIDI4OSAyMzcgODc5CkVpbmdldHJhZ2VuIGFtIEFtdHNn ZXJpY2h0IENoYXJsb3R0ZW5idXJnIEhSQiAxNDkxNzMgQgoK