From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chao Gao Subject: [PATCH 4/4] VT-d PI: Don't add vCPU to PI blocking list for a case Date: Wed, 26 Apr 2017 08:52:47 +0800 Message-ID: <1493167967-74144-5-git-send-email-chao.gao@intel.com> References: <1493167967-74144-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: <1493167967-74144-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 YWNjb3JkaW5nIHRvIGl0cyBzdGF0ZSBhbmQKaXRzIFBJIGJsb2NraW5nIGxpc3QgbG9jayAodi0+ YXJjaC5odm1fdm14LnBpX2Jsb2NraW5nLmxvY2spLgoKU2lnbmVkLW9mZi1ieTogQ2hhbyBHYW8g PGNoYW8uZ2FvQGludGVsLmNvbT4KLS0tCiB4ZW4vYXJjaC94ODYvaHZtL3ZteC92bXguYyAgICAg ICAgICAgICB8IDIxICsrKysrKysrKysrKysrLS0tLS0tLQogeGVuL2RyaXZlcnMvcGFzc3Rocm91 Z2gvdnRkL2ludHJlbWFwLmMgfCAxOSArKysrKysrKysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5n ZWQsIDMzIGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2Fy Y2gveDg2L2h2bS92bXgvdm14LmMgYi94ZW4vYXJjaC94ODYvaHZtL3ZteC92bXguYwppbmRleCA3 NmNiNDIxLi5hZTE2ZjM5IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvaHZtL3ZteC92bXguYwor KysgYi94ZW4vYXJjaC94ODYvaHZtL3ZteC92bXguYwpAQCAtMTI1LDYgKzEyNSwxNCBAQCBzdGF0 aWMgdm9pZCB2bXhfdmNwdV9ibG9jayhzdHJ1Y3QgdmNwdSAqdikKICAgICBzdHJ1Y3QgcGlfZGVz YyAqcGlfZGVzYyA9ICZ2LT5hcmNoLmh2bV92bXgucGlfZGVzYzsKICAgICBzcGlubG9ja190ICpw aV9ibG9ja2luZ19saXN0X2xvY2s7CiAKKyAgICAvKiBJZiBubyBJUlRFIHJlZmVycyB0byAncGlf ZGVzYycsIG5vIGZ1cnRoZXIgb3BlcmF0aW9uIG5lZWRzICovCisgICAgaWYgKCB2LT5kb21haW4t PmFyY2guaHZtX2RvbWFpbi5waV9vcHMuaW5fdXNlICYmCisgICAgICAgICAhdi0+ZG9tYWluLT5h cmNoLmh2bV9kb21haW4ucGlfb3BzLmluX3VzZSh2KSApCisgICAgICAgIHJldHVybjsKKworICAg IGlmICggIXRlc3RfYml0KF9WUEZfYmxvY2tlZCwgJnYtPnBhdXNlX2ZsYWdzKSApCisgICAgICAg IHJldHVybjsKKwogICAgIC8qCiAgICAgICogQWZ0ZXIgcENQVSBnb2VzIGRvd24sIHRoZSBwZXIt Y3B1IFBJIGJsb2NraW5nIGxpc3QgaXMgY2xlYXJlZC4KICAgICAgKiBUbyBtYWtlIHN1cmUgdGhl IHBhcmFtZXRlciB2Q1BVIGlzIGFkZGVkIHRvIHRoZSBjaG9zZW4gcENQVSdzCkBAIC0xNDQsMTMg KzE1Miw4IEBAIHN0YXRpYyB2b2lkIHZteF92Y3B1X2Jsb2NrKHN0cnVjdCB2Y3B1ICp2KQogCiAg ICAgb2xkX2xvY2sgPSBjbXB4Y2hnKCZ2LT5hcmNoLmh2bV92bXgucGlfYmxvY2tpbmcubG9jaywg TlVMTCwKICAgICAgICAgICAgICAgICAgICAgICAgcGlfYmxvY2tpbmdfbGlzdF9sb2NrKTsKLQot ICAgIC8qCi0gICAgICogJ3YtPmFyY2guaHZtX3ZteC5waV9ibG9ja2luZy5sb2NrJyBzaG91bGQg YmUgTlVMTCBiZWZvcmUKLSAgICAgKiBiZWluZyBhc3NpZ25lZCB0byBhIG5ldyB2YWx1ZSwgc2lu Y2UgdGhlIHZDUFUgaXMgY3VycmVudGx5Ci0gICAgICogcnVubmluZyBhbmQgaXQgY2Fubm90IGJl IG9uIGFueSBibG9ja2luZyBsaXN0LgotICAgICAqLwotICAgIEFTU0VSVChvbGRfbG9jayA9PSBO VUxMKTsKKyAgICBpZiAoIG9sZF9sb2NrICkKKyAgICAgICAgZ290byBvdXQ7CiAKICAgICBhdG9t aWNfaW5jKCZwZXJfY3B1KHZteF9waV9ibG9ja2luZywgZGVzdF9jcHUpLmNvdW50ZXIpOwogICAg IEhWTVRSQUNFXzREKFZUX0RfUElfQkxPQ0ssIHYtPmRvbWFpbi0+ZG9tYWluX2lkLCB2LT52Y3B1 X2lkLCBkZXN0X2NwdSwKQEAgLTE3MSw2ICsxNzQsMTAgQEAgc3RhdGljIHZvaWQgdm14X3ZjcHVf YmxvY2soc3RydWN0IHZjcHUgKnYpCiAgICAgd3JpdGVfYXRvbWljKCZwaV9kZXNjLT5udiwgcGlf d2FrZXVwX3ZlY3Rvcik7CiAgICAgd3JpdGVfYXRvbWljKCZwaV9kZXNjLT5uZHN0LAogICAgICAg ICAgICAgICAgICAoeDJhcGljX2VuYWJsZWQgPyBkZXN0IDogTUFTS19JTlNSKGRlc3QsIFBJX3hB UElDX05EU1RfTUFTSykpKTsKKyAgICByZXR1cm47CisKKyBvdXQ6CisgICAgc3Bpbl91bmxvY2tf aXJxcmVzdG9yZShwaV9ibG9ja2luZ19saXN0X2xvY2ssIGZsYWdzKTsKIH0KIAogc3RhdGljIHZv aWQgdm14X3BpX3N3aXRjaF9mcm9tKHN0cnVjdCB2Y3B1ICp2KQpkaWZmIC0tZ2l0IGEveGVuL2Ry aXZlcnMvcGFzc3Rocm91Z2gvdnRkL2ludHJlbWFwLmMgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3Vn aC92dGQvaW50cmVtYXAuYwppbmRleCA5OWYxY2NlLi5jNDNjZmEyIDEwMDY0NAotLS0gYS94ZW4v ZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW50cmVtYXAuYworKysgYi94ZW4vZHJpdmVycy9wYXNz dGhyb3VnaC92dGQvaW50cmVtYXAuYwpAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgImV4dGVy bi5oIgogCiAjaW5jbHVkZSA8YXNtL2FwaWMuaD4KKyNpbmNsdWRlIDxhc20vaHZtL2h2bS5oPgog I2luY2x1ZGUgPGFzbS9pb19hcGljLmg+CiAjZGVmaW5lIG5yX2lvYXBpY19lbnRyaWVzKGkpICBu cl9pb2FwaWNfZW50cmllc1tpXQogCkBAIC02MjIsNiArNjIzLDIwIEBAIHN0YXRpYyB2b2lkIHBp X3B1dF9yZWYoc3RydWN0IHBpX2Rlc2MgKnBpX2Rlc2MpCiAgICAgICAgIHYtPmRvbWFpbi0+YXJj aC5odm1fZG9tYWluLnBpX29wcy5wdXRfcmVmKHYpOwogfQogCitzdGF0aWMgYm9vbCBwaV9pbl91 c2Uoc3RydWN0IHBpX2Rlc2MgKnBpX2Rlc2MpCit7CisgICAgc3RydWN0IHZjcHUgKnY7CisKKyAg ICBpZiAoICFwaV9kZXNjICkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICB2ID0gcGlfZGVzY190 b192Y3B1KHBpX2Rlc2MpOworICAgIEFTU0VSVChpc19odm1fZG9tYWluKHYtPmRvbWFpbikpOwor ICAgIGlmICggdi0+ZG9tYWluLT5hcmNoLmh2bV9kb21haW4ucGlfb3BzLmluX3VzZSApCisgICAg ICAgIHJldHVybiB2LT5kb21haW4tPmFyY2guaHZtX2RvbWFpbi5waV9vcHMuaW5fdXNlKHYpOwor ICAgIHJldHVybiAwOworfQorCiBzdGF0aWMgaW50IG1zaV9tc2dfdG9fcmVtYXBfZW50cnkoCiAg ICAgc3RydWN0IGlvbW11ICppb21tdSwgc3RydWN0IHBjaV9kZXYgKnBkZXYsCiAgICAgc3RydWN0 IG1zaV9kZXNjICptc2lfZGVzYywgc3RydWN0IG1zaV9tc2cgKm1zZykKQEAgLTk5Niw2ICsxMDEx LDcgQEAgaW50IHBpX3VwZGF0ZV9pcnRlKHN0cnVjdCBwaV9kZXNjICpwaV9kZXNjLCBjb25zdCBz dHJ1Y3QgcGlycSAqcGlycSwKICAgICBzdHJ1Y3QgbXNpX2Rlc2MgKm1zaV9kZXNjOwogICAgIHN0 cnVjdCBwaV9kZXNjICpvbGRfcGlfZGVzYzsKICAgICBpbnQgcmM7CisgICAgYm9vbCBmaXJzdF9y ZWY7CiAKICAgICBkZXNjID0gcGlycV9zcGluX2xvY2tfaXJxX2Rlc2MocGlycSwgTlVMTCk7CiAg ICAgaWYgKCAhZGVzYyApCkBAIC0xMDA5LDcgKzEwMjUsMTAgQEAgaW50IHBpX3VwZGF0ZV9pcnRl KHN0cnVjdCBwaV9kZXNjICpwaV9kZXNjLCBjb25zdCBzdHJ1Y3QgcGlycSAqcGlycSwKICAgICB9 CiAgICAgb2xkX3BpX2Rlc2MgPSBtc2lfZGVzYy0+cGlfZGVzYzsKIAorICAgIGZpcnN0X3JlZiA9 ICFwaV9pbl91c2UocGlfZGVzYyk7CiAgICAgcGlfZ2V0X3JlZihwaV9kZXNjKTsKKyAgICBpZiAo IHBpX2Rlc2MgJiYgZmlyc3RfcmVmICkKKyAgICAgICAgYXJjaF92Y3B1X2Jsb2NrKHBpX2Rlc2Nf dG9fdmNwdShwaV9kZXNjKSk7CiAgICAgbXNpX2Rlc2MtPnBpX2Rlc2MgPSBwaV9kZXNjOwogICAg IG1zaV9kZXNjLT5ndmVjID0gZ3ZlYzsKIAotLSAKMS44LjMuMQoKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVu LWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=