From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chao Gao Subject: [PATCH v2 5/5] VT-d PI: Don't add vCPU to PI blocking list for a case Date: Thu, 11 May 2017 14:04:12 +0800 Message-ID: <1494482652-42356-6-git-send-email-chao.gao@intel.com> References: <1494482652-42356-1-git-send-email-chao.gao@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1494482652-42356-1-git-send-email-chao.gao@intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: Andrew Cooper , Kevin Tian , Jan Beulich , Jun Nakajima , Chao Gao List-Id: xen-devel@lists.xenproject.org Q3VycmVudGx5LCBibG9ja2VkIHZDUFVzIGFyZSBhZGRlZCB0byBQSSBibG9ja2luZyBsaXN0IGlm IGl0cwpkb21haW4gaGFzIGFzc2lnbiBkZXZpY2VzLiBBY3R1YWxseSwgc29tZSBibG9ja2VkIHZD UFVzIHdpbGwgbm90CmJlIHdva2VuIHVwIGJ5IHdha2V1cCBpbnRlcnJ1cHQgZ2VuZXJhdGVkIGJ5 IFZULWQgaGFyZHdhcmUuIFRoZXkKbWF5IGJlIHdva2VuIHVwIGJ5IElQSXMgb3Igb3RoZXIgaW50 ZXJydXB0cyBmcm9tIGVtdWxhdGVkIGRldmljZXMuCkZvciB0aGVzZSB2Q1BVcyB3ZSBkb24ndCBh ZGQgdGhlbSB0byBQSSBibG9ja2luZyBsaXN0LgoKSWYgYSB2Q1BVIGlzIGJsb2NrZWQgcHJpb3Ig dG8gaXRzIGdldHRpbmcgYm91bmQgd2l0aCBhIElSVEUsIHdlIG5lZWQKYWRkaW5nIHRoaXMgdkNQ VSB0byBibG9ja2luZyBsaXN0IHdoZW4gd2UgYmluZCBhIHZDUFUgd2l0aCBhIElSVEUuCkluIHRo YXQgY2FzZSwgYXJjaF92Y3B1X2Jsb2NrKCkgbWF5IGJlIGNhbGxlZCBmcm9tIGFub3RoZXIgdkNQ VSB3aGljaAp0aGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbiBjYW4ndCBoYW5kbGUuIFRoaXMgcGF0 Y2ggZXhwYW5kcyB0aGUKYXJjaF92Y3B1X2Jsb2NrKCksIHJlbW92aW5nIHNvbWUgcmVzdHJpY3Rp b25zIGV4cHJlc3NlZCBieQphc3NlcnRpb25zIGFuZCBoYW5kbGluZyB0aGUgdGFyZ2V0IHZDUFUg YWNjb3JkaW5nIHRvIGl0cyBzdGF0dXMgYW5kCml0cyBQSSBibG9ja2luZyBsaXN0IGxvY2sgKHYt PmFyY2guaHZtX3ZteC5waV9ibG9ja2luZy5sb2NrKS4KClNpZ25lZC1vZmYtYnk6IENoYW8gR2Fv IDxjaGFvLmdhb0BpbnRlbC5jb20+Ci0tLQogeGVuL2FyY2gveDg2L2h2bS92bXgvdm14LmMgICAg ICAgICAgICAgfCAyMCArKysrKysrKysrKysrLS0tLS0tLQogeGVuL2RyaXZlcnMvcGFzc3Rocm91 Z2gvdnRkL2ludHJlbWFwLmMgfCAxOCArKysrKysrKysrKysrKysrKysKIDIgZmlsZXMgY2hhbmdl ZCwgMzEgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJj aC94ODYvaHZtL3ZteC92bXguYyBiL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jCmluZGV4IDQ1 YTM3MmUuLjAzZDVmY2UgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jCisr KyBiL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jCkBAIC0xNjEsNiArMTYxLDE0IEBAIHN0YXRp YyB2b2lkIHZteF92Y3B1X2Jsb2NrKHN0cnVjdCB2Y3B1ICp2KQogICAgIHN0cnVjdCBwaV9kZXNj ICpwaV9kZXNjID0gJnYtPmFyY2guaHZtX3ZteC5waV9kZXNjOwogICAgIHNwaW5sb2NrX3QgKnBp X2Jsb2NraW5nX2xpc3RfbG9jazsKIAorICAgIC8qIElmIG5vIElSVEUgcmVmZXJzIHRvICdwaV9k ZXNjJywgbm8gZnVydGhlciBvcGVyYXRpb24gbmVlZHMgKi8KKyAgICBpZiAoIHYtPmRvbWFpbi0+ YXJjaC5odm1fZG9tYWluLnBpX29wcy5pbl91c2UgJiYKKyAgICAgICAgICF2LT5kb21haW4tPmFy Y2guaHZtX2RvbWFpbi5waV9vcHMuaW5fdXNlKHYpICkKKyAgICAgICAgcmV0dXJuOworCisgICAg aWYgKCAhdGVzdF9iaXQoX1ZQRl9ibG9ja2VkLCAmdi0+cGF1c2VfZmxhZ3MpICkKKyAgICAgICAg cmV0dXJuOworCiAgICAgLyoKICAgICAgKiBBZnRlciBwQ1BVIGdvZXMgZG93biwgdGhlIHBlci1j cHUgUEkgYmxvY2tpbmcgbGlzdCBpcyBjbGVhcmVkLgogICAgICAqIFRvIG1ha2Ugc3VyZSB0aGUg cGFyYW1ldGVyIHZDUFUgaXMgYWRkZWQgdG8gdGhlIGNob3NlbiBwQ1BVJ3MKQEAgLTE4MywxMyAr MTkxLDExIEBAIHN0YXRpYyB2b2lkIHZteF92Y3B1X2Jsb2NrKHN0cnVjdCB2Y3B1ICp2KQogCiAg ICAgb2xkX2xvY2sgPSBjbXB4Y2hnKCZ2LT5hcmNoLmh2bV92bXgucGlfYmxvY2tpbmcubG9jaywg TlVMTCwKICAgICAgICAgICAgICAgICAgICAgICAgcGlfYmxvY2tpbmdfbGlzdF9sb2NrKTsKLQot ICAgIC8qCi0gICAgICogJ3YtPmFyY2guaHZtX3ZteC5waV9ibG9ja2luZy5sb2NrJyBzaG91bGQg YmUgTlVMTCBiZWZvcmUKLSAgICAgKiBiZWluZyBhc3NpZ25lZCB0byBhIG5ldyB2YWx1ZSwgc2lu Y2UgdGhlIHZDUFUgaXMgY3VycmVudGx5Ci0gICAgICogcnVubmluZyBhbmQgaXQgY2Fubm90IGJl IG9uIGFueSBibG9ja2luZyBsaXN0LgotICAgICAqLwotICAgIEFTU0VSVChvbGRfbG9jayA9PSBO VUxMKTsKKyAgICBpZiAoIG9sZF9sb2NrICkKKyAgICB7CisgICAgICAgIHNwaW5fdW5sb2NrX2ly cXJlc3RvcmUocGlfYmxvY2tpbmdfbGlzdF9sb2NrLCBmbGFncyk7CisgICAgICAgIHJldHVybjsK KyAgICB9CiAKICAgICBhdG9taWNfaW5jKCZwZXJfY3B1KHZteF9waV9ibG9ja2luZywgZGVzdF9j cHUpLmNvdW50ZXIpOwogICAgIEhWTVRSQUNFXzREKFBJX0xJU1RfQURELCB2LT5kb21haW4tPmRv bWFpbl9pZCwgdi0+dmNwdV9pZCwgZGVzdF9jcHUsCmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9w YXNzdGhyb3VnaC92dGQvaW50cmVtYXAuYyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9p bnRyZW1hcC5jCmluZGV4IDk5ZjFjY2UuLjgwNmUzOTcgMTAwNjQ0Ci0tLSBhL3hlbi9kcml2ZXJz L3Bhc3N0aHJvdWdoL3Z0ZC9pbnRyZW1hcC5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdo L3Z0ZC9pbnRyZW1hcC5jCkBAIC02MjIsNiArNjIyLDIwIEBAIHN0YXRpYyB2b2lkIHBpX3B1dF9y ZWYoc3RydWN0IHBpX2Rlc2MgKnBpX2Rlc2MpCiAgICAgICAgIHYtPmRvbWFpbi0+YXJjaC5odm1f ZG9tYWluLnBpX29wcy5wdXRfcmVmKHYpOwogfQogCitzdGF0aWMgYm9vbCBwaV9pbl91c2Uoc3Ry dWN0IHBpX2Rlc2MgKnBpX2Rlc2MpCit7CisgICAgc3RydWN0IHZjcHUgKnY7CisKKyAgICBpZiAo ICFwaV9kZXNjICkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICB2ID0gcGlfZGVzY190b192Y3B1 KHBpX2Rlc2MpOworICAgIEFTU0VSVChpc19odm1fZG9tYWluKHYtPmRvbWFpbikpOworICAgIGlm ICggdi0+ZG9tYWluLT5hcmNoLmh2bV9kb21haW4ucGlfb3BzLmluX3VzZSApCisgICAgICAgIHJl dHVybiB2LT5kb21haW4tPmFyY2guaHZtX2RvbWFpbi5waV9vcHMuaW5fdXNlKHYpOworICAgIHJl dHVybiAwOworfQorCiBzdGF0aWMgaW50IG1zaV9tc2dfdG9fcmVtYXBfZW50cnkoCiAgICAgc3Ry dWN0IGlvbW11ICppb21tdSwgc3RydWN0IHBjaV9kZXYgKnBkZXYsCiAgICAgc3RydWN0IG1zaV9k ZXNjICptc2lfZGVzYywgc3RydWN0IG1zaV9tc2cgKm1zZykKQEAgLTk5Niw2ICsxMDEwLDcgQEAg aW50IHBpX3VwZGF0ZV9pcnRlKHN0cnVjdCBwaV9kZXNjICpwaV9kZXNjLCBjb25zdCBzdHJ1Y3Qg cGlycSAqcGlycSwKICAgICBzdHJ1Y3QgbXNpX2Rlc2MgKm1zaV9kZXNjOwogICAgIHN0cnVjdCBw aV9kZXNjICpvbGRfcGlfZGVzYzsKICAgICBpbnQgcmM7CisgICAgYm9vbCBmaXJzdF9yZWY7CiAK ICAgICBkZXNjID0gcGlycV9zcGluX2xvY2tfaXJxX2Rlc2MocGlycSwgTlVMTCk7CiAgICAgaWYg KCAhZGVzYyApCkBAIC0xMDA5LDcgKzEwMjQsMTAgQEAgaW50IHBpX3VwZGF0ZV9pcnRlKHN0cnVj dCBwaV9kZXNjICpwaV9kZXNjLCBjb25zdCBzdHJ1Y3QgcGlycSAqcGlycSwKICAgICB9CiAgICAg b2xkX3BpX2Rlc2MgPSBtc2lfZGVzYy0+cGlfZGVzYzsKIAorICAgIGZpcnN0X3JlZiA9ICFwaV9p bl91c2UocGlfZGVzYyk7CiAgICAgcGlfZ2V0X3JlZihwaV9kZXNjKTsKKyAgICBpZiAoIHBpX2Rl c2MgJiYgZmlyc3RfcmVmICkKKyAgICAgICAgYXJjaF92Y3B1X2Jsb2NrKHBpX2Rlc2NfdG9fdmNw dShwaV9kZXNjKSk7CiAgICAgbXNpX2Rlc2MtPnBpX2Rlc2MgPSBwaV9kZXNjOwogICAgIG1zaV9k ZXNjLT5ndmVjID0gZ3ZlYzsKIAotLSAKMS44LjMuMQoKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVs QGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=